FAQ |
Kalender |
![]() |
#11 | ||
|
|||
Klarade millennium-buggen
|
Suck. Den typen av argument (är du inte nöjd med opensource så skriv om det själv då) trodde jag vi hade lagt bakom oss på ett sånt här forum.
Visst kan jag skriva om hela PHP, blir säkert klar i eftermiddag, eller kanske till lunch om jag jobbar på, men det är strategiska beslut i bakom sådant som vilka teckenkodningar man ska stödja och det är generellt sett påfallande ofta amerikanska utvecklare som utgår från att världen inte behöver något annat än latin1 och att man kan bortse från resten av världens bokstäver. Rasmus Ledorf som är den ursprunglige skaparen av PHP är inte israel, utan snarare född grönländare, delvis uppvuxen i och numera bosatt i Kanada. Om Gutmans eller Suraski ägnade teckenfrågan en tanke vet jag inte. Jag är tillräckligt gammal för att ha varit med på den tiden man använde 7-bitars teckenkod och vet att det inte var lätt att tänka mångfald om tecken då, men ett dåligt beslut är ett dåligt beslut även om man inte visste bättre då. Nu har PHP vänt strategi och ska hantera UTF fullt ut vilket gör att jag sliper skriva om hela kodbasen själv som du föreslår. Men gamla funktioner finns tyvärr fortfarande kvar och används antagligen slentrianmässigt även i nyskrivna projekt. I manualen noteras inte att substr() inte hanterar UTF korrekt utan det får man reda på först när man läser användarnas kommentarer. En uppdatering där borde man unna sig. |
||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Supermoderator
|
Citat:
Det känns ändå mer logiskt att behålla de gamla funktionerna som de är och införa nya för mb-uppsättningar precis som man gjort. Att köra mb-funktioner är dessutom betydligt långsammare i många fall, särskilt vad gäller strtoupper och strtolower. Det finns ingen större poäng med att skriva kommentarer på varje sträng-funktion utan där ska endast viktig och EJ överflödig information finnas med för att manualen ska vara just snabb, smidig och översiktlig. Övrigt hör hemma just i användarkommentarerna. Det framgår med all önskvärd tydlighet redan i de inledande styckena i manualen hur tecken och strängar i PHP är uppbyggda: http://www.php.net/manual/en/language.types.string.php Citat:
__________________
Full-stack developer, free for smaller assignments Senast redigerad av tartareandesire den 2010-02-04 klockan 11:20 |
||
![]() |
![]() |
![]() |
#13 | ||
|
|||
Medlem
|
Jag kör UTF-8 på alla webbplatser jag utvecklar.
För att kunna hantera den här typen av problem så använder jag en samling funktioner som finns att ladda ner här: http://sourceforge.net/projects/phputf8/ Om du inkluderar detta bibliotek som standard i din kod så har du tillgång till alternativ till alla funktioner som hanterar strängar och teckenlängder. T.ex: substr -> utf8_substr strpos -> utf8_strpos strlen -> utf8_strlen etc. Helt ovärderligt för mig i alla fall! |
||
![]() |
![]() |
![]() |
#14 | ||
|
|||
Flitig postare
|
Tack för alla bra svar.
Lite synd att diskussioner måste bli så hetsiga och penislängden måste mätas om och om igen här på WN ibland. :P Men men, antar att någon snart svarar mig att jag kan skapa mitt egna J*VLA forum om jag inte är nöjd ![]() Ha det! |
||
![]() |
![]() |
Svara |
|
|