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
Форумы портала PHP.SU :: Версия для печати :: Кракозябры в БД
Форумы портала PHP.SU » » Работа с СУБД » Кракозябры в БД

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

1. Kerovan - 28 Февраля, 2013 - 00:23:09 - перейти к сообщению
В БД записываются данные в таком виде

Розничный магазин

На сайте отображается все нормально, как исправить?
Надо чтоб данные в базе были в человеческом виде
2. re_nat - 28 Февраля, 2013 - 10:49:27 - перейти к сообщению
БД на окнах стоит?
3. Kerovan - 28 Февраля, 2013 - 11:01:14 - перейти к сообщению
re_nat пишет:
БД на окнах стоит?

На хостинге, на денвере все нормально. Перенес на хостинг начались проблемы, то что было записано в базе раньше выводилось вопросами, а то что уже на хосте добавил выводятся нормально а вбазе записано

Розничный магазин
4. Object - 28 Февраля, 2013 - 12:17:44 - перейти к сообщению
Была подобная фигня. причем сначала на хостинге все было ок, но в один прекрасный день все поля с кириллицей стали отображаться вот так: ????????? ???? ?????
Хотя как и у Вас в Денвере все было классно.

У меня проблема решилась следующим образом:
1. Все скрипты преобразовать в кодировку UTF-8 без BOM (делал в NotePad++);
2. Все поля в БД должны быть в кодировке UTF-8.
3. При коннекте к БД нужно явно указывать в какой кодировке будем работать:

Причем обратите внимание utf8, а не utf-8, тоесть без дефиса, это особенность mysql.

После этого новые записи стали отображаться нормально и в БД и на страницах. Но спешу огорчить у меня сразу это не решило проблему с уже существующими записями, все стало наоборот, где отображалось нормально стало не нормально, а где были знаки вопроса стали кракозябры. Пришлось сделать скрипт который отображал данные в win1251, а потом вручную проапдейтить записи в БД уже через исправленный скрипт. Можно было как-то автоматизировать, но там БД заполняется медленно и на тот момент было всего около двух десятков записей, писать еще скрипт было лень.

P.S. "Все поля в БД должны быть в кодировке UTF-8" имеется в виду текстовые поля.

 

Powered by ExBB FM 1.0 RC1