webForumDet fria alternativet

Identifiera UTF-8 kodad fil

2 svar · 395 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej,

Har byggt en applikation där csv filer laddas upp och parsas. Eftersom listorna innehåller många "konstiga" namn, t.ex. med ryska och kinesiska tecken, måste man alltid UTF-8 koda filerna som laddas upp.

Går det att känna igen i valideringen om filen är av rätt typ? Det som händer är att laddar man upp en UNICODE fil så sparas filen, men sen blir det generalpaj då datan ska sparas i databasen.

Har Googlat lite på det här, men hittar inget bra.

Tack!

TroxyMedlem sedan mars 20041 505 inlägg
#2

... Checking is possible because UTF-8 has a very specific byte-pattern not seen in any other encoding. If non-UTF-8 data is received, an error message should be sent back.

http://www.w3.org/International/questions/qa-forms-utf-8
Du borde kunna sno regexp-pattern från ovanstående länk och använda preg_match för att testa om strängen är giltig utf-8.

Hittade ett till exempel på en annan site som använder iconv:

if (@iconv($input, 'UTF-8', 'UTF-8') == $input) echo "Good UTF-8!";
else echo "Nope."

http://keithdevens.com/weblog/archive/2004/Jun/29/UTF-8.regex

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Det där ser supernajs ut, ska testa imorrn, återkommer!

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)