Тема: Кодировка MySQL 5.0

Прошу помощи...
Дело в том, что когда я устанавливаю мускул, то указываю кодировку cp1251, при просмотре phpmyadmin, показывает кодировку сервера в utf8.
Никакими моими страданиями, кодировка не переключается в cp1251. Я уже и в my.ini менял  в демоне сервера и в секции самого сервера, все равно utf8.

Причина обращения:
После установки скрипта (сайтика на php), сайт отображается русскими буквами, а все данные, которые при установке заносились в базу, в виде "????".
Менял сопоставления в phpmyadmin, все равно одно и тоже!

Конфигурация:
Windows XP2 / Apache 2.2.* / PHP 5 / Perl 8 / MySQL 5

Заранее благодарен!

2

Re: Кодировка MySQL 5.0

Алексей
phpMyAdmin всегда будет в utf8, так как работа с кодировками у него идет на внутреннем уровне.

Ваша проблема не в phpMyAdmin, а в некорректном дампе, или кодировке соединения MySQL.
1) Покажите структуру любой таблицы содержащей поля с кирилицей из дампа и то как выглядит кирилица, если она нечитаема (крякозябы). Смотреть надо в специализированном текстовом редакторе, например, Notepad++.
2) Покажите вывод запроса:

SHOW GLOBAL VARIABLES LIKE 'char%';

3) Для подключения скрипта необходимо использовать отдельного пользователя, наделив его только необходимыми правами (обычно в документации скрипта эти права указаны). Нельзя использовать пользователя root.
4) Посмотрите в документации скрипта наличие конфигурационной директивы устанавливающей кодировку соединения с MySQL. Возможно это снимет проблему, при ее наличии и корректной установке. Как я понял скрипт у вас в cp1251 (windows-1251).

Re: Кодировка MySQL 5.0

Проблему решил полным переходом на utf8, и кодировка сервера и сопоставление. Получалось, что сопоставление было в cp1251, а при перегоне базы через utf8, естественно в ср1251 доходили знаки вопроса...

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

В структурах всех таблиц русские буквы и в дампах тоже, а вот в выходе в браузер лезли "?????"

Самый глупый вопрос (сразу извинюсь за него, т.к. все настраивал и делал своими руками, некоторые вещи просто не понимаю...): Где или куда вставить запрос ?        .. SHOW GLOBAL VARIABLES LIKE 'char%'; ..

4

Re: Кодировка MySQL 5.0

Алексей сказал:

Где или куда вставить запрос ?

В phpMyAdmin на странице выполнения SQL запросов.

Re: Кодировка MySQL 5.0

Спасибо. Вот:

Variable_name     Value
character_set_client     utf8
character_set_connection     utf8
character_set_database     utf8
character_set_filesystem     binary
character_set_results     utf8
character_set_server     utf8
character_set_system     utf8
character_sets_dir     C:\Program Files\MySQL\MySQL Server 5.0\share\char...

6

Re: Кодировка MySQL 5.0

Алексей
Если скрипт в utf8, то все нормально. Не понял почему вы выше упоминали cp1251.
character_set_connection - кодировка соединения utf8, значит если страницы скрипта в utf8 и БД с таблицами тоже в utf8, то все будет работать нормально.

7 (изменено: Алексей, 2008-09-06 20:09:10)

Re: Кодировка MySQL 5.0

У меня сопоставление было ср1251, а затем я переставил на utf8, постоянно попадается скрипты, в которых кодировка ср1251 и возникают с этим проблемы...