Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день! Возникли проблемы с кодировкой в mysql. Скриптом php заношу в базу данных текстовые поля. Затем Добрый день! Возникли проблемы с кодировкой в mysql. Скриптом php заношу в базу данных текстовые поля. Затем другим скриптом их выбираю и в браузере все отображается нормально. Но при подключении через mysql comand line klient, те символы, которые были занесены скриптом, отображаются русскими буквами, но бессмысленым их набором.При добавлении русских символов из команд лайн клиента, они отображаются адекватно. Проблема как раз с отображением русских символов, занесеенных в таблицу сценарием.
Пробовал следующее:
-в файле my.ini в секции client section поставить default-character-set=cp1251, но команд лайн клиент перестал запускаться, пришлось снова вернуть latin1.
-в самой базе написать set names=cp1251, но после этого вместо русских букв появились знаки вопроса.
- в скрипте php написать после соединения с базой mysql_query('SET NAMES cp1251'), но в этом случае вставка полей в базу вообще не происходила.
- создать таблицу с кодировкой сp1251, но данные с русскими буквами не заносились ни через команд лайн клиент, ни через скрипт.
Воостановление из дампа с указанием русской кодировки тоже не дало результата.
Помогите, пожайлуста. Второй день мучаюсь с этой кодировкой!
Неактивен
Таблицы нужно создавать в той кодировке, в которой Вы хотите хранить данные.
Получать и записывать данные можно в любой кодировке, при этом обязательно нужно указывать
SET NAMES <кодировка> с указанием нужной кодировки.
Кодировка консоли windows - cp866, а не cp1251.
--
Если можете себе позволить снести данные — снесите и восстановите заново, добавив в сценарий
восстановления в начале строку SET NAMES <кодировка данных в файле>.
Неактивен
А как создать сценарий воссттановления, не понял о чем идет речь, я дамп делал, затем его восстанавливал с указанием кодировки cp1251. Но mysql написал"mysql: Character set 'cp1251' is not a complied character set and is not specified in the 'C:\mysql\\share\charsets\Index.xml' file ". Ладно, подсовываю ему файлы с указанным расположением, дамп восстанавливается.
Смотрю кодировку базы SHOW VARIABLES LIKE 'ch%'; - показывает cp1251, но кодировка соединения latin1 - в таблице русские буквы, занесенные через скрипт, выглядят беспорядочным набором русских символов.
Пишу set names cp1251 - , затем снова SHOW VARIABLES LIKE 'ch%'; все установлено в сp1251, кроме character_set_server, character_set_system, character_set_file system. В таблице вместо русских символов знаки вопроса.
Как бороться?
Неактивен
В начале дампа напишите «SET NAMES cp1251;»
Неактивен