[MySQL] кирилица

stm2463622

Творятся мистические вещи.
Работаю я себе с мусклом, всё с базами нормально, работают с русскими символами корректно, добавляются, извлекаются, всё путём.
Недавно сделал я себе новую базу, и маленькую форму написал на пхп, для заполнения одной из таблиц. Эта база не заработала с русскими символами, при попытке вывести, как на консоль, так и в броузер, выдаёт одни вопросики.
При этом, я сделал запрос из консоли на вставку в одну из ячеек таблицы алфавита. В консоли можно прочитать некоторые буквы, а в броузере выдаётся вот что:
?¤?¦§?«¬­®? ?‚?„…?†‡?‹?‘’“”•—?™?›?
Кодировки по умолчанию в апаче, пхп и мускле поставлены ср1251. Другие базы работают нормально. Новые созданные - вот так вот криво. Кто знает, как победить напасть?

skvoria

Ну да, ну да... Не иначе как поставил 4.1, да?
Вообще фпоиск, там много чего интересного найдешь... а копать нужно в сторону изменения конфига, один из вариантов решения проблемы - прописать в секцию [mysqld]
init-connect="SET CHARACTER SET 'cp1251'; SET NAMES cp1251;"
default-character-set=cp1251
В особо тяжелых случаях приходится еще и в клиентской части указывать
default-character-set=cp1251
Если не поможет - можешь стукнуть в аську, попробуем разрулить..

stm2463622

Да, реальная 4.1 гы-гы.
Я уже разрулил. Там действительно надо прописывать что-то в этом роде.
Только я по совету одного товарища прописал запросы,
mysql_query ("set caracter_set_client='cp1251'");
mysql_query ("set caracter_set_result='cp1251'");
mysql_query ("set collatinon_connect='cp1251'");
сразу после mysql_connect в файле пхп, и заработало.
хотелось бы уточнить, что надо прописать в инишке, чтоб сразу сервер грузился как надо?
Ну, как я понял, в клиентской части указать
default-character-set=cp1251,
и
[mysqld]
init-connect="SET CHARACTER SET 'cp1251'; SET NAMES cp1251;"
default-character-set=cp1251 уже прописан.
Это всё, больше ничего не надо?

skvoria

У меня заработало после этого, а вот на запросы ты имхо зря навесил, поскольку другому клиенту все равно лажа будет отдаваться. А на все входящие коннекты это делает вот эта строка: init-connect="SET CHARACTER SET 'cp1251'; SET NAMES cp1251;"
mysql_query ("set caracter_set_client='cp1251'");
Надеюсь, ты понял, что тут опечатка

stm2463622

Ну, видишь, я не слишком грамотный.
Вот частенько и не работает поэтому ничего.
Оставить комментарий
Имя или ник:
Комментарий: