1

Тема: проблемы с кодировками

Сервер стоит на локалке (Windows) из сборки Apache2+MySQL5+PHP5+PhpMyAdmin3.12 - все версии самые последние!!
Мой show 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_sets_dir    F:\WebServer\MySQL\share\charsets\

Кусок из моего my.ini :

[client]

port=3306
character-sets-dir="F:/WebServer/MySQL/share/charsets"

[mysql]

default-character-set=cp1251
character-sets-dir="F:/WebServer/MySQL/share/charsets"
init-connect="SET NAMES cp1251"

# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
#
[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306


#Path to installation directory. All paths are usually resolved relative to this.
basedir="F:/WebServer/MySQL/"

#Path to the database root
datadir="F:/WebServer/MySQL/Data/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=cp1251
character-set-server=cp1251

# The default storage engine that will be used when create new tables when
default-storage-engine=MYISAM

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=100

Попытавшись перевести свою МуСКЛ полностью на ср1251 столкнулся с такими проблемами:
№1:
Итак, у меня стоит форум SimpleMachines Forum, устанавливал его под ср1251 еще на хостинге, теперь переносил дамп БД на локалку и оказалось что таблицы у него в утф8 (хотя во время импорта выбирал ср1251!!)...

Потом перевел МуСКЛ в ср1251 отредактировав my.ini (см. начало сообщения - "show variables like '%char%'") изначально вместо ср1251 некоторые параметры стояли на утф8.

И теперь у меня почему-то при просмотре из PHPMyAdmin все русские буквы в таблице форума (это где кодировка у таблиц утф8) отображаются как "???????? ??????", хотя на форуме(на сайте) отображаются нормальные русские буквы. Как это исправить? я даже дамб БД сделать не могу, т.к. он делается тоже с "??????????? ???????" sad

(Переводил всю МуСКЛ на ср1251, т.к. у меня сайт на движке DataLife Engine (DLE) в кодировке ср1251 - я хотел все сделать под такую кодировку, и даже форум перекодировать в ср1251, но сейчас у меня в БД форума одни вопросительные знаки, не сдампить sad )

№2:
При просмотре таблиц сайта (не форума, а DLE, там все таблицы стоят в cp1251 и cp1251_general_ci) из PHPMyAdmin русские буквы выводятся как ??????? , почему? почему не выводятся нормальные русские буквы? у меня ведь и МуСКЛ и БД сайта в ср1251!!!

№3:
Проделав некоторые дописи в config PHPMyAdmin'а, а именно:

$cfg['AllowAnywhereRecoding'] = true;
$cfg['DefaultCharset'] = 'windows-1251';
$cfg['RecodingEngine'] = 'auto';
$cfg['Export']['charset'] = 'windows-1251';

экспортирую БД в кодировке 1251, но почему-то когда я экспортирую БД сайта (это где кодировка ср1251) - все русские буквы просто исчезают!! Т.е. было 'русский текст' , а стало просто '' в чем проблема? почему он нормально не может сдампить в кодировке 1251?

а когда дампил форум (это где утф8) все русские буквы отображаются "?????? ???????" - см. пункт №1.

Очень жду от вас помощи!!!

2

Re: проблемы с кодировками

[size=16]ИТАК!!!!!!!!!!!![/size]

переименовал файл конфига PHPMyAdmin у меня все таблицы с ср1251 стали отображать русские буквы!!!!!!

только утф8 крякозябры, ша конвертнуть в ср1251 попробую....


кто-нибудь может мне предоставить нормальный файл конфига PHPMyAdmin, чтобы он больше не видел все в "своих" кодировках?

3

Re: проблемы с кодировками

хммм, переименовал конфиг PHPMyAdmin обратно и все стало нормальный, русские буквы отобржаются....хммм ...магия какя-то.... ладно, спасибо.

остается одна проблема, не могу сконвертировать таблицы БД в ср1251....

4

Re: проблемы с кодировками

Арррррррррррррр, нет, нифига!!! реснул сервак и снова ??????? !!!!!!!!!!
дайте человеческий phpmyadmin конфиг пожалуйста!!!

5

Re: проблемы с кодировками

ExeiL
Не трогайте настройки phpMyAdmin.

Покажите Глобальные переменные.

SHOW GLOBAL VARIABLES LIKE 'char%';

В my.ini, раздел [mysqld], добавьте строку (Обратите внимание на раздел!):

init-connect="SET NAMES cp1251"

6

Re: проблемы с кодировками

Hanut сказал:

ExeiL
Не трогайте настройки phpMyAdmin.

Покажите Глобальные переменные.
Код:
SHOW GLOBAL 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_sets_dir    F:\WebServer\MySQL\share\charsets\

Hanut сказал:

В my.ini, раздел [mysqld], добавьте строку (Обратите внимание на раздел!):
Код:
init-connect="SET NAMES cp1251"

спасибо, это помогло, вроде нету больше вопросов в бд.
кстати таблицу из утф8 в ср1251 конвертнул уже. smile