php + unicode

cX717

Новичок
php + unicode

Добрый день.
Прошу прощения, если не на том форуме задаю вопрос, но этот - самый близкий по тематике.

Скажите пожалуйста как с помощью php создавать и редактировать
файлы в юникоде (или utf-8).
Весь день искал в инете. Кроме того, что нужно подключать mbstrin, так ничего и не понял.
Заранее благодарю.
 

lart

Guest
Сначала нужно разобраться что такое "файлы в юникоде", сами файлы не имеют никакой кодировки, они хранят машинные коды символов, а вот какие ты туда символы запихнешь это и будет кодировка.

P.S. Нужно больше исходных данных, откуда берешь данные для файлов, в какой кодировке они там хранятся.
 

fixxxer

К.О.
Партнер клуба
Точно так же, как любые другие, но:

0) всегда помнишь о том, что 1 символ != 1 байт
1) вместо строковых функций юзаешь их [m]mbstring[/m] аналоги
2) в preg_-функциях везде используешь модификатор /u
 

cX717

Новичок
To
lart :

C юникодом более менее разобрался.
Возник немного другой вопрос.


Я создаю блокнотом файл xml.xml и ставлю ему кодировку utf-8.
Далее пишу скрипт:

$fh = fopen("xml.xml", "r") or die("Can't open file!");
$file = fread($fh, 2000);
print $file;
fclose($fh);

Что получаю:
п»ї company_profile contacts


Строка $file = fread($fh, filesize($fh)); не работает в принципе ( ругается на функцию filesize($fh) ).

Вопрос: возможно ли обойтись в данном случае без xml парсера, а просто
изменять xml файл (что-то удалять, что-то добавлять) по средствам mb функций ?

Ну и интересно почему filesize($fh) не проходит.

Заранее спасибо.

P.S.

xml.xml:

<?xml version="1.0"?>
<body>
<company_profile>
company_profile
</company_profile>
<contacts>
contacts
</contacts>
</body>
 
Сверху