1

Тема: Неправильное отображение данных в базе данных.

Добрый день!
Первоначально с базой данных не было проблемы. Я создавал скрипт для парсинга с занесением данных в базу данных. Данные заносились на кириллице. Но, была одна ошибка, выводимая в браузере, а именно: 'Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at'.
В коде я записал строку в виде:

if (!$link->set_charset("koi8r"))

Ошибка 'Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at' исчезла, но в базе данных вместо текста на кириллице содержатся кракозябры. Меняю кодировку у таблицы и у полей таблицы, результат один - кракозябры. Только, кракозябры разные, в зависимости от того, какую кодировку ставишь.
Вопрос - как и где настроить кодировку для нормального отображения данных в самой базе данных?
Спасибо.

2

Re: Неправильное отображение данных в базе данных.

Определите в какой кодировке страница самого скрипта. Так же посмотрите в какой кодировке таблицы БД. Все кодировки должны соответствовать.

Менять кодировку можно только на пустой таблице. Если данные уже имеются, то их сперва необходимо перекодировать. Это занятие не простое.

3

Re: Неправильное отображение данных в базе данных.

Hanut сказал:

Определите в какой кодировке страница самого скрипта. Так же посмотрите в какой кодировке таблицы БД. Все кодировки должны соответствовать.

Менять кодировку можно только на пустой таблице. Если данные уже имеются, то их сперва необходимо перекодировать. Это занятие не простое.

Скрипт с кодировкой charset=utf-8
База данных, таблица и поля в ней с кодировкой utf8_general_ci
Соединение с базой данных utf8
Вроде, всё сходится, но ошибка в браузере выводится.

4

Re: Неправильное отображение данных в базе данных.

Посмотрите кодировку файла скрипта. Это можно увидеть в Notepad++, например.

В остальном - если кодировки сходятся, то проблем не будет. Возможно данные в БД уже находятся в нечитаемом виде. Тогда их можно вывести только после перекодировки. Посмотрите как данные выглядят в phpMyAdmin.