1

Тема: в тысячный раз про кирилицу в MySQL

приветствую всех, господа!
в который раз напишу про трудности с кирилицей. Но нигде не нашел подобной или похожей пробемы, в том числе юзал поиск вашего дивного форума. А горе мое такое:
при записи в мускул через консколь кирилица отображается нормально в консколи и в PhpMyAdmin, а при запросе php-скриптом в браузере выводится знаками вопроса. И наоборот, при записи в базу кирилицы через скрипт php с веб-формы, она затем нормально выводится в браузере, а в консоли и в PhpMyAdmin абракадабра. Привожу для наглядности скриншоты.

http://i45.fastpic.ru/big/2012/1015/97/24317512d607da268b142efdf3f94997.png

http://i44.fastpic.ru/big/2012/1015/4f/543658add4a39beba91add0ec316344f.png

http://i44.fastpic.ru/big/2012/1015/61/25a67c1bca796e1b425f0ea6456e7e61.png

примечания:
1. в браузере и в консоли использую кодировку utf-8
2. при создании базы сразу задаю кодировку utf-8

CREATE DATABASE base_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3. и база и таблица в кодировке utf8_general_ci
4. строки в php-коде типа

mysql_query('SET NAMES utf-8');
mysql_query("SET CHARACTER SET 'utf-8'");


никакого эффекта не дают и ничего не меняют.

ВОПРОС: можно это как-то одолеть? Хочется и писать в базу и просматривать кирилицу и из консколи и при выводе данных на веб-страницы.

2

Re: в тысячный раз про кирилицу в MySQL

rootuser сказал:

можно это как-то одолеть?

В данной строке ошибка, лишний дефис в кодировке utf8:
mysql_query('SET NAMES utf-8');
Пропишите так:

mysql_query('SET NAMES utf8');

Еще один момент - скрипт PHP нельзя подключать под root, обязательно для скрипта создайте отдельного пользователя MySQL и наделите его необходимыми привилегиями, исключая привилегии из раздела "Администрирование".

3 (изменено: rootuser, 2012-10-16 20:37:18)

Re: в тысячный раз про кирилицу в MySQL

Hanut, благодарю за ответ. Но предложенный рецепт

В данной строке ошибка, лишний дефис в кодировке utf8:
mysql_query('SET NAMES utf-8');

не решил вопроса. По-прежнему то, что пишу через веб-форму в базу нормально потом выводится в браузере, но коряво в консоли и при просмотре в PMA и наоборот. Тем более, Вы ответили лишь на одну часть вопроса - про вывод кирилицы в браузер через php-запросы к базе.

ps
Юзера для записи в базу, конечно, использую нового с нужными правами.

4

Re: в тысячный раз про кирилицу в MySQL

rootuser сказал:

По-прежнему то, что пишу через веб-форму в базу нормально потом выводится в браузере, но коряво в консоли и при просмотре в PMA и наоборот.

Решение - SET NAMES utf8 и пользователь без привилегий из раздела администрирование.

rootuser сказал:

Тем более, Вы ответили лишь на одну часть вопроса - про вывод кирилицы в браузер через php-запросы к базе.

В чем состоит вторая часть вопроса?