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))) выдает кучу ошибок вида
Если содержимое файла в кодировке windows-1251 подвергать сериализации, то unserialize выдает нормальный результат, а в базу кладется лишь начало xml файла 
Где мой мозг меня подводит, не могли бы подсказать?
И попутный вопрос, напрашивается сам собой, в каком виде в данном случае оптимально хранить данные?
Заранее спасибо
-~{}~ 26.09.06 06:23:
Ох, разобрался.
MySQL выдавала ошибку, потому что не хватало места (использовал TEXT вместо нужного MEDIUMTEXT)
А на выходе simplexml_load_file образуется класс, при сериализации которого получается невесть что, вот и ругается PHP.
Вопрос про оптимальность пока что остается открытым.
Такая ситуация :
Есть 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

Где мой мозг меня подводит, не могли бы подсказать?
И попутный вопрос, напрашивается сам собой, в каком виде в данном случае оптимально хранить данные?
Заранее спасибо
-~{}~ 26.09.06 06:23:
Ох, разобрался.
MySQL выдавала ошибку, потому что не хватало места (использовал TEXT вместо нужного MEDIUMTEXT)
А на выходе simplexml_load_file образуется класс, при сериализации которого получается невесть что, вот и ругается PHP.
Вопрос про оптимальность пока что остается открытым.