1

Тема: Проблема с выводом информации из MySQL и как решить через pMA?

Всем добрый день.
Очень надеюсь что обратился по адресу, в нужный раздел)
Столкнулся с проблемой (судя по всему весьма частой для новичков) и вот ответа не нашёл полного. Суть в том что я учу сейчас связку php+mysql. Выводя информацию из бд через код на страницу, английский выводиться отлично, но вот русский выводиться знаками вопросов. Тоесть это явно проблема кодировки. Нужна помощь как это исправить и где, можно ли через pma? Нужно чтобы всё работало под 1251.
phpMyAdmin - 2.11.8.1
Версия MySQL-клиента: 5.0.51a
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: cp1251_general_ci
Проблему я решил добавлением в php строк:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
но это не дело добавлять какждый раз. Хотелосьбы чтобы такой проблемы небыло.
Спасибо за внимание)

2

Re: Проблема с выводом информации из MySQL и как решить через pMA?

GreyAlex
Первый вариант - это добавление следующей строки сразу после функции соединения mysql_connect().

mysql_query('SET NAMES cp1251');

В данном случае, это аналог вашим трем запросам устанавливающим кодировку, но одной строкой.

Второй вариант возможен при наличии доступа к конфигурационному файлу MySQL (my.ini/my.cnf).

[mysql]
# Установка изначальной кодировки создаваемых таблиц.
default-character-set=cp1251

[mysqld]
init-connect="SET NAMES cp1251"
default-character-set=cp1251

Обратите внимание, что при внесении изменений в конфигурационный файл MySQL, все скрипты будут иметь кодировку соединения cp1251, если в них жестко не прописана установка кодировки соединения с помощью первого варианта.

На счет того, что - "это не дело добавлять каждый раз..." - не соглашусь. Функция соединения с MySQL пишется в скрипте единожды и предусмотреть параметр для задания кодировки соединения, совсем не сложно. Даже при использовании второго варианта установки кодировки соединения, первый, желательно не отменять - это упростит впоследствии перенос скрипта на сервер, где у вас не будет доступа к конфигурационному файлу MySQL.

3

Re: Проблема с выводом информации из MySQL и как решить через pMA?

Что самое смешно, 2ой вариант у меня прописан давно))) Так-что бред какойто. С другой стороны, да, сделать функцию include с файлом подключения и кодировки совсем не трудно) Спасибо за эту мысль и за команду)

4

Re: Проблема с выводом информации из MySQL и как решить через pMA?

GreyAlex сказал:

Что самое смешно, 2ой вариант у меня прописан давно

Покажите, пожалуйста ваш конфигурационный файл MySQL.