![]() |
MySQL, simplexml_load_file, кодировка
К примеру экспортировать данные из RSS ленты http://soft.oszone.ru/rss/new-soft.xml в свою БД MySQL
Там кодировка windows-1251, у меня в таблице - cp1251_general_ci Думал проблем не возникнет, но в самой таблице получаю: <div><b>Обновлена: 24.09.2009</b></div> <br /> Ideal DVD Copy – это простая программа, которая поможет сделать РєРѕРїРёСЋ DVD-РґРёСЃРєРѕРІ. РЎ ее помощью можно сделать точную РєРѕРїРёСЋ РґРёСЃРєР°, скопировать выбранные СЌРїРёР·РѕРґС‹ или фильм полностью, исключив трейлеры,...<br /><br /> <div class="smallfont">Р*азмер: 2.9 РњР±<br />Язык: Английский<br />Лицензия: ShareWare</div><hr> Код:
<?php |
Цитата:
|
ой, сорри.
Я заменяю http://feeds.feedburner.com/filehippo?format=xml на http://soft.oszone.ru/rss/new-soft.xml и получаю крокозяблики |
проверьте, что на выходе после simplexml-load-file (если неясно, где кодировку меняет). если виновата функция, то мб нужно параметров добавить...
|
Проверял, на выходе норм.
делал же: echo "INSERT INTO `de_rss_export` (`title`, `description`, `date`, `guid`, `from`, `link` ) VALUES ('$title', '$description', '$date', '$guid', 'FileHippo', 'http://www.filehippo.com/');<br /><br />"; |
SET NAMES 'cp1251' перед выборкой делается?
|
Цитата:
|
Даже не знаю, может поможет то, что файл на выполнении в cron под линукс?
0 */1 * * * /usr/bin/php /web/sites/deykun.com/class.rss-export.php |
Аналогичные крокозяблики и когда пытаюсь экспортировать в Базу http://itc.ua/rss.xml
Но там уже utf-8 Но я делаю так: $title = $item->title; $description = $item->description; $title = mb_convert_encoding($title, "windows-1251", "utf-8"); $description= mb_convert_encoding($description, "windows-1251", "utf-8"); Не помагает, хотя на www.deykun.com у меня спокойно отображается с такой вот конвертацией кодировки только на прямую, без БД (Внизу под заголовком "Новини інформаційних технологій") |
Надо с кодировками разобраться (самой базы и соединения с базой) - там не один параметр, и нужно соответствие всех...
|
Получилось вот так:
$title = mb_convert_encoding($title, "windows-1251", "auto"); $description= mb_convert_encoding($description, "windows-1251", "auto"); таким образом, какой бы кодировка изначально не была, она превратится вwindows-1251 ;) Может кому то будет полезно |
Время: 01:41. |
Время: 01:41.
© OSzone.net 2001-