PHP bilan tahlil qilingan fayldagi tan olinmagan qo'shimcha belgilar

Menda PHP bilan tahlil qilayotgan csv faylim bor. (Aslida, u yorliqlar bilan ajratilgan.) Matn muharririda fayl quyidagicha ko'rinadi:

Object Id   Page/Master Id  Page/Master Name ...

Ushbu kod yordamida:

$f = file_get_contents($filepath);
echo $f;

Men buni brauzerda olaman:

��O�b�j�e�c�t� �I�d� �P�a�g�e�/�M�a�s�t�e�r� �I�d� �P�a�g�e�/�M�a�s�t�e�r� �N�a�m�e� ...

barcha bu savol belgisi belgilari bilan. Belgilar sonini hisoblash uchun strlen() dan foydalansam, u kerak bo'lganidan ikki baravar ko'p xabar beradi. Men buni unicode bilan bog'liq deb o'ylayman, lekin uni qanday boshqarishni bilmayman.

Har qanday fikr bormi?


person sprugman    schedule 27.12.2009    source manba


Javoblar (1)


Men noto'g'ri bo'lishim mumkin, lekin bu UTF-16 kodlangan faylga o'xshaydi. Sinab ko'ring

$f = iconv("utf-16", "utf-8", $f);

?

person Pekka    schedule 27.12.2009
comment
Belgilar oralig'i deyarli unicode fayl ekanligini ko'rsatadi. utf-16 ham juda katta ehtimol. - person Goyuix; 28.12.2009
comment
Xususan, bu UTF-16LE (ozgina-endian) kodlash, UTF-16 varianti Windows noto'g'ri tarzda faqat "Unicode" deb ta'riflaydi. Boshidagi ikkita bayt bayt tartibi belgisi bo'lib, utf-16-aniqlanmagan-endianlik bilan avtomatik ravishda oz-endianlikni aniqlash orqali ishlashga imkon beradi. - person bobince; 28.12.2009