Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перекодировка CP1252 в CP1251

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SergeantPEPPER
Отправлено: 12 Февраля, 2009 - 19:57:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




Доброго врмени суток всем.

Столкнулся с проблемой: есть файл-дамп базы данных, но в испорченной кодировке. Сайт http://www[dot]artlebedev[dot]ru/tools/decoder/ сказал следующее (кстати, может и неверно!): Преобразование CP1252 -> CP1251.

Проблема осталась только в том, что sql файл весит около 80Мб, что естесственно лишает возможности пользоваться онлайн перекодировщиком.

Решил написать скрипт, открывающий дамп и переводящий все через iconv, но почему то на выходе имею файл с пятью непонятными символами-кракозябрами и все.
Как бы решить эту проблемку?
 
 Top
vitaliy_mad
Отправлено: 13 Февраля, 2009 - 01:29:40
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




SergeantPEPPER пишет:
но в испорченной кодировке

во первых кодировка испорченной не может быть... она может быть не та что думаете...

Во-вторых: было бы не плохо привести скрипт, который написан для конвертирования...
и наконец: какие нибудь осмысленные данные в киррилице в виде в котором они храняться в файле+под какой стемой работаете(судя о всему Виндовс)... тогда больше шансов получить ответ....

(Отредактировано автором: 13 Февраля, 2009 - 01:30:10)

 
 Top
Борис84
Отправлено: 05 Декабря, 2013 - 12:45:25
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Столкнулся с той же проблемой. Причиной данного косяка является то, что для обмена данными между скриптом и базой данных не задана кодировка по-умолчанию или задана, но не та. Задайте utf-8:


$conn = new mysqli ($host, $user, $pass, $db);

// проверка соединения
if (mysqli_connect_errno()) {
printf("<span style=\"color: red;\">Не удалось подключиться: %s</span>\n", mysqli_connect_error());
//echo "<p>".mysqli_connect_errno();
exit();
}

// изменение набора символов на utf8
if (!$conn->set_charset("utf8")) {
printf("Ошибка при загрузке набора символов utf8: %s\n", $conn->error());
} else {
printf("Текущий набор символов: %s\n", $conn->character_set_name());
}

Должно заработать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB