Прошу помочь разобраться в следующем вопросе:
При установке WP в файле прочитал следующее:
# ЕСЛИ КОДИРОВКА БАЗЫ ДАННЫХ ОТЛИЧАЕТСЯ ОТ КОДИРОВКИ БЛОГА
# разрешить преобразовывать тексты блога в кодировку базы данных
# например если база данных работает в WINDOWS-1251, а блог в UTF-8
define('MAXSITE_DB_CONVERT', false); # true - разрешить, false - запретить
# кодировка базы данных для автоматического перекодирования (работает если MAXSITE_DB_CONVERT=true)
define('MAXSITE_DB_CHARSET', 'WINDOWS-1251'); # WINDOWS-1251 или UTF-8
К сожалению, ничего не сказано о том, зачем это надо делать. С какой целью?
У моего хостера (masterhost) стоит база MySQL 5-ой версии.
Зашёл в phpmyadmin, читаю следующее
MySQL-кодировка: Windows Cyrillic (cp1251)
Сопоставление соединения с MySQL: utf8_unicode_ci
Я не стал разрешать преобразовывать текст. И после установки WP не обнаружил каких либо проблем с кодировками. Единственная проблема появилась после установки плагина WP Comment Quicktags Plus. Текст у кнопок неправильно отображался. решил проблему добавлением строки AddDefaultCharset Off в htaccess файле.
Так всё же – нужно ли преобразовывать тексты блога в кодировку базы данных или нет? Могут ли у меня потом начаться какие-либо проблемы из-за того что указал не преобразовывать текст?
например:
поиск работать не будет
мой любимый cforms некорректно работать будет
sonika, а если я уже установил WP (без преобразования) мне теперь устанавливать заново придётся?
кстати, поиск вроде нормально работает: написал пару тестовых статеек, поискал слова, всё ок, выводит правда только заголовки статей, но я так понимаю это стандартная установка
Ну… я не знаю, почему у Вас ищется 🙂 Может потому что слово в слово искали? А если с большой буквы? Поиск получится регистрозависимым.
Максим (maxsite.org) в этом хорошо разбирается, может он вставит свои 5 коп. в этот топик.
У меня лично проблемы с выводом тегов получаются и с поиском (wp 2.3.1) при MySQL: utf8 & callation cp1251
сравните:
ищем Эстафету
http://www.sonika.ru/blog/?s=%DD%F1%F2%E0%F4%E5%F2%F3
ищем эстафету
http://www.sonika.ru/blog/?s=%D1%8D%D1%81%D1%82%D0%B0%D1%84%D0%B5%D1%82%D1%83
зачем заново? плагином его специальным (в первой ссылке которую я дала выше он есть) можно, например.
Преобразование нужно только для хостиногов, где нельзя установить utf-8 или для старых, сайтов, которые изначально ставились в windows-1251.
Насчет поиска, то это не проблема WordPress. Это 100% проблема БД. Если разные кодировки, то либо вообще не ищутся, либо становятся регистрозависимыми. Так же перестает работать сортировка. В общем нужно чтобы база и её collation были в одной кодировке. Тогда проблем не будет.
Спасибо, MAX.
Я почему-то думал, что раз у хостера стоит в настройках:
MySQL-кодировка: Windows Cyrillic (cp1251)
Сопоставление соединения с MySQL: utf8_unicode_ci
то преобразование происходит у него на сервере и мне уже не надо об этом беспокоиться…
Не туда смотрите http://maxsite.org/kak-byistro-nastroit-kodirovku-bazyi-dannyih-dlya-wordpressa