Serialize и UTF8

fantik

Новичок
Serialize и UTF8

Такая ситуация :

Есть XML файл (считаю, что XML тут боком, поэтому пишу в этот форум), кодировка windows-1251.
Цель : запихнуть его в поле БД (MySQL 5.0, кодировка UTF-8)

Простейшее решение находил в виде serialize содержимого самого файла(1251). Подумал и решил во избежание дальнейшей путаницы кодировок хранить его в виде готового многомерного массива с кодировкой элементов UTF-8.

Из него вытащил данные путём simplexml_load_file. Как я понимаю, на выходе этой функции получается UTF8, но в такой ситуации unserialize(serialize(simplexml_load_file(file.xml))) выдает кучу ошибок вида
PHP:
Warning: unserialize() [function.unserialize]: Node no longer exists in D:\Soft\xampp\htdocs\xml\index.php on line 100
Если содержимое файла в кодировке windows-1251 подвергать сериализации, то unserialize выдает нормальный результат, а в базу кладется лишь начало xml файла :(

Где мой мозг меня подводит, не могли бы подсказать?

И попутный вопрос, напрашивается сам собой, в каком виде в данном случае оптимально хранить данные?

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

-~{}~ 26.09.06 06:23:

Ох, разобрался.

MySQL выдавала ошибку, потому что не хватало места (использовал TEXT вместо нужного MEDIUMTEXT)
А на выходе simplexml_load_file образуется класс, при сериализации которого получается невесть что, вот и ругается PHP.

Вопрос про оптимальность пока что остается открытым.
 

SiMM

Новичок
> Вопрос про оптимальность пока что остается открытым.
Он лишён смысла, поскольку задача не описана.
 

b-d

Новичок
2 fantik:
Есть XML файл... Цель : запихнуть его в поле БД
А какая разница какой это файл и в какой он кодировке? Вопрос про оптимальность.. хм.. а что важно скорость или размеры? Если скорость, то пихать без обработки, если размер то сжимать и пихать.
 
Сверху