![]() |
Hej
När jag skickar utdata från PHP-skript i UTF8 så inleds utdatan alltid med följande tecken: "". Vad kommer dessa tecken ifrån? Måste PHP-scriptet kodas i utf-8? Skall man använda utf8_decode och utf8_encode? Jag har utdata både från MySQL och från andra sidor som mitt script laddar hem och extraherar data ifrån. /Andreas |
Det där är BOM (Byte Order Mark) i början av UTF-8 filen. Det går att spara UTF-8 filer utan de, men det är ju din editor som avgör. Sen är det frågan om just din PHP-fil måste vara UTF-8 enkodad bara för att du hanterar UTF-8 data. Det behöver den inte nämnligen.
|
OK, tack!
Är "" ett tecken eller tre? Hur kan man ta bort dessa tecken i PHP?? /Andreas |
Citat:
|
Ett tips är att det finns en extension: multibyte, som klarar av att göra t ex preg_match på åäö om dessa är kodade i utf-8. Har börjat hata det faktum att jag numera programmerar i UTF-8 i editorn, och sparar texter som utf-8 i databasen, vilket ger upphov till diverse problem här och var i de inbyggda funktionerna, när man har åäö i texten.
Har något ett bättre förslag på hur följande kod kan skrivas under omständigheterna? (mb_split finns inte installerat) Koden tar ut de ord som förekommer i strängen $phrase, och returnerar dem som array. Kod:
$phrase = utf8_decode($phrase); Där alla ???? står har jag skrivit in specialtecken såsom åäöáà, etc. Pga att php-filen sparas som utf-8 blev dock detta fel, eftersom preg_split vill ha tecken i iso-8859-1. Mycket fult... Istället öppnade jag alltså filen som iso-8859-1 och skrev in dessa tecken, och sparade filen. Nu ser det ju rätt fult ut... Kanske vore det bättre att skriva in dem som utf-8 och sedan köra en utf8_decode på tecknen... hm... nåja... synpunkter på det hela? |
Alla tider är GMT +2. Klockan är nu 22:48. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson