1

Тема: Проблема кодировки букв "ш" и "И"

Здравствуйте!
Я пытаюсь установить форум vBulletin 4.0.3 на новый хостинг с нуля. Перевод на русский от zCarrot (utf8)
Создаю через phpMyAdmin базу данных, кодировку выставляю utf8_general_ci
Далее делаю всё как обычно, выгружаю файлы форума на хостинг, сверху заливаю файлы перевода на русский язык, запускаю install.php и инсталляция вся на русском. Потом импортирую русский язык и назначаю его как язык по умолчанию. Всё хорошо, но вот буквы "ш" и "И" отображаются не корректно. В суппорте хостинга советуют воспользоваться скриптом - http://snippets.pp.ru/article/130/
Все русские символы в базе так же не читаемы через phpMyAdmin

Подскажите, что я делаю не правильно? Спасибо!

2

Re: Проблема кодировки букв "ш" и "И"

mff
Попробуйте переустановить форум поправив следующие строки в конфигурационном файле /includes/config.php:

$config['Database']['dbtype'] = 'mysqli';
$config['Mysqli']['charset'] = 'utf8';

Добавьте в корень форума файл .htaccess со следующей строкой:

PHP_VALUE default_charset utf-8

Я устанавливал этот форум и с такими настройками никаких проблем нет.

3

Re: Проблема кодировки букв "ш" и "И"

Hanut большое вам спасибо!!!

4

Re: Проблема кодировки букв "ш" и "И"

Проблема кодировки букв "ш" и "И"

Доброго времени суток.

Тоже столкнулся с этой проблемой но форум уже установлен , движок vBulletin 4.0.3 Publishing Suite

Из-за глюка статистики сайта,решил откатить базу данных назад,после того как импортировал дамп, "ш" и "И" стали отображаться не корректно.
Обратился к хостеру,они попробовали восстановить более поздний дамп,обработали его Perl'ом

LC_ALL=C perl -pi -e "s|\xD1\x3F|\xD1\x88|g" dump.sql
LC_ALL=C perl -pi -e "s|\xD0\x3F|\xD0\x98|g" dump.sql

но это не помогло.


Пробовал переустановить форум вашим способом описанным выше,форум отображается в не читабельных символах.

В файле .htaccess прописано

PHP_VALUE default_charset utf-8

Кодировка везде utf-8.Где то прочитал что можно вручную заменить неправильные символы непосредственно в записях таблиц, через phpMyAdmin,но если честно понятия не имею где там и что заменять.

Есть еще варианты как исправить данную проблему?

Буду очень признателен за помощь и совет,спасибо.

5

Re: Проблема кодировки букв "ш" и "И"

garridge
Совет, который дан выше работает только на свежеустановленный скрипт, уже имеющиеся данные он будет выводить некорректно, потому что в БД они записаны были в неподобающем виде. Но все же решение это правильное, просто сперва необходимо попробовать перекодировать дамп.

Откройте дамп .sql текстовым редактором (рекомендую Notepad++) и покажите структуру любой таблицы, а так же то как выглядит кириллица, если она нечитаема и имеет вид крякозябов.

6

Re: Проблема кодировки букв "ш" и "И"

Hanut сказал:

garridge
Совет, который дан выше работает только на свежеустановленный скрипт, уже имеющиеся данные он будет выводить некорректно, потому что в БД они записаны были в неподобающем виде. Но все же решение это правильное, просто сперва необходимо попробовать перекодировать дамп.

Откройте дамп .sql текстовым редактором (рекомендую Notepad++) и покажите структуру любой таблицы, а так же то как выглядит кириллица, если она нечитаема и имеет вид крякозябов.

Здравствуйте,спасибо за разъяснение.


--
-- Структура таблицы `forum`
--

CREATE TABLE IF NOT EXISTS `forum` (
  `forumid` smallint(5) unsigned NOT NULL auto_increment,
  `styleid` smallint(5) unsigned NOT NULL default '0',
  `title` varchar(100) NOT NULL default '',
  `title_clean` varchar(100) NOT NULL default '',
  `description` text,
  `description_clean` text,
  `options` int(10) unsigned NOT NULL default '0',
  `showprivate` tinyint(3) unsigned NOT NULL default '0',
  `displayorder` smallint(6) NOT NULL default '0',
  `replycount` int(10) unsigned NOT NULL default '0',
  `lastpost` int(11) NOT NULL default '0',
  `lastposter` varchar(100) NOT NULL default '',
  `lastposterid` int(10) unsigned NOT NULL default '0',
  `lastpostid` int(10) unsigned NOT NULL default '0',
  `lastthread` varchar(250) NOT NULL default '',
  `lastthreadid` int(10) unsigned NOT NULL default '0',
  `lasticonid` smallint(6) NOT NULL default '0',
  `lastprefixid` varchar(25) NOT NULL default '',
  `threadcount` mediumint(8) unsigned NOT NULL default '0',
  `daysprune` smallint(6) NOT NULL default '0',
  `newpostemail` text,
  `newthreademail` text,
  `parentid` smallint(6) NOT NULL default '0',
  `parentlist` varchar(250) NOT NULL default '',
  `password` varchar(50) NOT NULL default '',
  `link` varchar(200) NOT NULL default '',
  `childlist` text,
  `defaultsortfield` varchar(50) NOT NULL default 'lastpost',
  `defaultsortorder` enum('asc','desc') NOT NULL default 'desc',
  `imageprefix` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`forumid`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=71 ;

Если я правильно понял то вот здесь вместо cp1251 ,должно быть utf8 ?
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=71



Кракозябры .


желаете удалить видже

Чем можно исправить перекодировать дамп?Объем дампа 21Мб


Спасибо

7

Re: Проблема кодировки букв "ш" и "И"

Перекодировать дамп можно, но сперва надо битые символы поправить. Не знаю, сработает ли решение из первого сообщения, но надо попробовать.

8

Re: Проблема кодировки букв "ш" и "И"

Hanut

Огромное вам человеческое СПАСИБО!

Евгений