1

Тема: Помогите с кодировкой

Проблема вот в чём: Пишу в коснсоли MySQL русский текст - phpMyAdmin показывает не понятные символы (ейчР), и наоборот пишу в  phpMyAdmin русский текст - в консоли иероглифы (ейчР)

Apache 2.2.8, mysql 5.0,  phpMyAdmin 2.11.7

my.ini
[client]

port=3306
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"

[mysql]

default-character-set=cp1251

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"
init-connect="SET NAMES cp1251"


SHOW SESSION VARIABLES LIKE '%char%';
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_set_dir C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\

MySQL-кодировка:  UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL : cp1251_general_ci

2

Re: Помогите с кодировкой

gena
В командной строке используется DOS-кодировка cp866, поэтому происходит искажение символов.
Перед запуском mysql в командной строке, выполните "chcp 1251" и после этого сможете нормально работать с данными в кодировке cp1251.
Несколько более детально - Некоторые замечания для Win 32 платформы.

3

Re: Помогите с кодировкой

Примерно такая же проблема: Пишу в коснсоли MySQL русский текст - phpMyAdmin показывает не понятные символы (ейчР), и наоборот пишу в  phpMyAdmin русский текст - в консоли иероглифы (ейчР). 

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 /usr/share/mysql/charsets/

На сайте все отображается замечательно. Проблемы в phpMy admin. Доступа к папке настроек вроде не имею, т.к. MySql и PhpAdmin - установлены хостером.

4

Re: Помогите с кодировкой

Kazfoto
Вы через SSH в консоли по русски пишете? У Putty есть возможность настройки кодировки (Window -> Translation).
Хотя, признаться, не понимаю зачем так делать при наличии phpMyAdmin.

Исходить надо из того, что проблем в phpMyAdmin нет и он всегда отображает только то что хранит MySQL.

5

Re: Помогите с кодировкой

Я наверное неправильно выражаюсь.  сорри.

У сайта есть админка на хосте.  В админке набираю текст в окне любой (новости и т.д.). При этом кодировка страницы utf8.  Текст отбражается нормально (руский).   Захожу в phpMyadmin - там все эти посланные с админки данные в краказябрах.  И в phpMyadmin я не могу видеть нормальный текст, хотя везде utf8_general_ci стоит.   А на сайт выводится все нормально.

6

Re: Помогите с кодировкой

Сперва сделайте следующее:
1) Уточните версию MySQL сервера.
2) В phpMyAdmin, в окне выполнения SQL запросов, введите следующее и
покажите ответ:
SHOW GLOBAL VARIABLES LIKE 'char%';
3) Что за скрипт? Уточните, если самописанный.

7

Re: Помогите с кодировкой

Версия MySQL-клиента: 5.0.51a
phpMyAdmin - 2.11.8.1 (all language all codepages) - отдельно установлен на сервер мной


SHOW SESSION VARIABLES LIKE '%char%';
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 /usr/share/mysql/charsets/

MySQL-кодировка:  UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL : latin1_sweden_ci (это показывает в админке движка)

Движок не самописный. Где искать изменение сопоставления? Может дело в этом? Или где-то что-то нужно прописать?

8

Re: Помогите с кодировкой

Kazfoto
1) Я имел в виду именно версию сервера MySQL, а не клиента.
2) SHOW GLOBAL VARIABLES LIKE 'char%';
Именно глобальные значения нужны, а не сессионные, так как сессионные будут указывать на кодировку соединения устанавливаемую phpMyAdmin.
3) Если движок не самописанный, то директиву изменения кодировки соединения с MySQL надо искать в его документации, либо на форуме тех-поддержки.