Тема: проблемы с кодировками
Сервер стоит на локалке (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) отображаются как "???????? ??????", хотя на форуме(на сайте) отображаются нормальные русские буквы. Как это исправить? я даже дамб БД сделать не могу, т.к. он делается тоже с "??????????? ???????"
(Переводил всю МуСКЛ на ср1251, т.к. у меня сайт на движке DataLife Engine (DLE) в кодировке ср1251 - я хотел все сделать под такую кодировку, и даже форум перекодировать в ср1251, но сейчас у меня в БД форума одни вопросительные знаки, не сдампить )
№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.
Очень жду от вас помощи!!!