Тема: Изъезжанная тема про русские буквы!! Помогите!

Есть сайт tatem.by
мне нужно его перекинуть на свой хостинг , поднятый на ispmanager
вот временный домен что получается savefile.by , русские буквы вопросами

все файлы копируются на свой хостинг без изменения
база экспортируется и импортируется через phpmyadmin

на моем хостинге в базе через phpmyadmin все русские символы отображаются корректно, на сайте выводятся вопросы

По запросу SHOW VARIABLES LIKE  'character%'

на хостинге , где все отображается нормально
Variable_name    Value
character_set_client    utf8
character_set_connection    utf8
character_set_database    cp1251
character_set_results    utf8
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

я точно также настроил и у себя

Variable_name    Value
character_set_client    utf8
character_set_connection    utf8
character_set_database    cp1251
character_set_filesystem    binary
character_set_results    utf8
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

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

2

Re: Изъезжанная тема про русские буквы!! Помогите!

Смотрите вывод запроса:

SHOW GLOBAL VARIABLES LIKE  'character%'

В корне хоста создайте файл .htaccess и добавьте строку:

PHP_VALUE default_charset windows-1251

3

Re: Изъезжанная тема про русские буквы!! Помогите!

Hanut сказал:

Смотрите вывод запроса:

SHOW GLOBAL VARIABLES LIKE  'character%'

В корне хоста создайте файл .htaccess и добавьте строку:

PHP_VALUE default_charset windows-1251

Всёравно вопросы вместо русских букв

по запросу SHOW GLOBAL VARIABLES LIKE  'character%'

на хосте где нормально выводятся русские буквы
Variable_name    Value
character_set_client    cp1251
character_set_connection    cp1251
character_set_database    cp1251
character_set_results    cp1251
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

тоже самое и на моём
Variable_name    Value
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    /usr/share/mysql/charsets/

добавлял в корень сайта .htaccess
PHP_VALUE default_charset windows-1251 и с такой AddDefaultCharset windows-1251 и так AddDefaultCharset cp1251
и так PHP_VALUE default_charset cp1251

вопросы все равно вместо русских

в корне каждого сайта лежит phpinfo.php , может он знающим скажет в чем проблема

4

Re: Изъезжанная тема про русские буквы!! Помогите!

Какая кодировка таблиц и полей выводится в phpMyAdmin? Должно быть сравнение cp1251_general_ci.

5

Re: Изъезжанная тема про русские буквы!! Помогите!

Hanut сказал:

Какая кодировка таблиц и полей выводится в phpMyAdmin? Должно быть сравнение cp1251_general_ci.

да так оно и есть, вот скрины! На втором скрине видно , что русский норм отображается в phpmyadmin
http://s2.ipicture.ru/uploads/20130622/ZV2kUh5o.png
http://s2.ipicture.ru/uploads/20130622/MDB714ow.png

6

Re: Изъезжанная тема про русские буквы!! Помогите!

Данные в БД в порядке, кодировка соединения с MySQL тоже правильная.

Попробуйте поменять кодировку и посмотреть результат:

PHP_VALUE default_charset utf-8

Если это ничего не даст - значит данная директива не работает в .htaccess.

7

Re: Изъезжанная тема про русские буквы!! Помогите!

Hanut сказал:

Данные в БД в порядке, кодировка соединения с MySQL тоже правильная.

Попробуйте поменять кодировку и посмотреть результат:

PHP_VALUE default_charset utf-8

Если это ничего не даст - значит данная директива не работает в .htaccess.

ничего не поменялось ! Те же вопросы!
А я так понимаю, если бы директива работала , то вместо вопросов были бы кракозябы?
и куда копать дальше? почему директивы из .htaccess могут не работать?

8

Re: Изъезжанная тема про русские буквы!! Помогите!

У вас есть возможность изменить конфигурационный файл php.ini? Если такой возможности нет, то уточните работу .htaccess у провайдера и опишите ему проблему с переносом сайта.

9

Re: Изъезжанная тема про русские буквы!! Помогите!

да есть возможность изменить php.ini

10

Re: Изъезжанная тема про русские буквы!! Помогите!

andruhasms сказал:

да есть возможность изменить php.ini

Добавьте в php.ini строку:

default_charset = "windows-1251"

11

Re: Изъезжанная тема про русские буквы!! Помогите!

Hanut сказал:
andruhasms сказал:

да есть возможность изменить php.ini

Добавьте в php.ini строку:

default_charset = "windows-1251"

прописал , тут видно что прописалось http://savefile.by/phpinfo.php

все равно вопросы, пробовал прописывать utf-8 , тогда кракозябы появляются в верхнем меню сайта . так что директива тут работает. но проблему не решает!

12

Re: Изъезжанная тема про русские буквы!! Помогите!

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

mysql_query('SET NAMES cp1251');

13 (изменено: andruhasms, 2013-06-23 16:38:34)

Re: Изъезжанная тема про русские буквы!! Помогите!

решил проблему следующим образом:
Прописал в my.cnf следующее
[mysqld]

# добавлены значения
init-connect="SET CHARSET cp1251"
init-connect="SET NAMES cp1251"
character-set-server=cp1251

Спасибо за помощь!!

14

Re: Изъезжанная тема про русские буквы!! Помогите!

Этой строки достаточно.

init-connect="SET NAMES cp1251"

Только имейте в виду, что при такой настройке на хосте не будут работать сайты с кодировкой отличной от windows-1251, поэтому лучше установить кодировку соединения с MySQL, как я указал выше, то есть прямо в скрипте.

15 (изменено: andruhasms, 2013-06-23 18:41:16)

Re: Изъезжанная тема про русские буквы!! Помогите!

Hanut сказал:

Этой строки достаточно.

init-connect="SET NAMES cp1251"

Только имейте в виду, что при такой настройке на хосте не будут работать сайты с кодировкой отличной от windows-1251, поэтому лучше установить кодировку соединения с MySQL, как я указал выше, то есть прямо в скрипте.

а если на сайтах с отличной от 1251 кодировкой прописывать нужную кодировку соединения с базой,таким способом как вы тут пишете? то будет работать?