Jump to content

Ž вместо ю и ž вместо о

Featured Replies

Вчера обновил форум с 2.3.6 на 3.4.1, разумеется попутно сконвертировав базу данных известным в местных кругах скриптом.
Всё прошло гладко, но по каким-то неведомым мне причинам, форум начал заменять в новых сообщениях,и в других местах русские буквы ю и О на Ž и ž соответственно. Весь остальной текст - нормальный, именно эти две буквы. Откуда они могли появиться и почему я никак не могу понять.

Буду очень признателен за помощь в исправлении этой дурацкой ошибки.
Спасибо.

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/
Share on other sites

В поиске в АЦ введите 0xCA там будет одна настройка — отключите ее.

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18796
Share on other sites
В поиске в АЦ введите 0xCA там будет одна настройка — отключите ее.

 

Она была в режиме "Нет", я перевёл в режим "Да", но это не помогло. Попробовал пересохранить текст правил - он всё равно сохранился с заменой двух букв.

Может кеш какой перестроить надо?

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18798
Share on other sites

После

В поиске в АЦ введите 0xCA там будет одна настройка — отключите ее.

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

В базе все кодировки в utf8?

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18804
Share on other sites
После

 

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

В базе все кодировки в utf8?

Да, всё также.

Вся база в utf8_unicode_ci.

Edited by Korben

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18806
Share on other sites

Поддержка --> Управление SQL --> Значения системных настроек

Все значения в utf8 ?

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18809
Share on other sites
Поддержка --> Управление SQL --> Значения системных настроек

Все значения в utf8 ?

Были все, кроме двух: collation_server и character_set_server. Изменил их через my.cnf (проверил в том же разделе), но эффекта не дало.

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18811
Share on other sites

Даже не знаю что в таком случае посоветовать.. Нужно самому смотреть базу и сам форум, может чего неладное найдётся..

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18818
Share on other sites

В общем вот что мне удалось выяснить.

С помощью FireBug'а узнал, что POST отсылает нормальные символы, значит конвертация происходит уже на стороне сервера. В запись БД эти два символа попадают в виде "& #381" и "& #382" (без пробелов между # и &, разумеется).

Теперь осталось узнать, почему конвертация происходит неверно в случае двух этих символов. Очевидно, где-то в коде происходит конвертация с помощью либо iconv, либо чего-то подобного.
Может кто знает, в каком месте кода искать функцию конвертирования?

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18824
Share on other sites

Я советую переустановить форум с импортом нужных таблиц. Статья в Базе знаний у нас имеется.

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18829
Share on other sites

Вы будете смеяться...

Пришлось в режиме дебага, вставляя по очереди перед каждой строчкой каждого класса проставить var_dump (); и die ();, чтобы обнаружить, что вся конвертация происходит в зависимости от проверки переменной функцией:

if ( IPS_IS_UTF8 !== true )
		{
			$content = $this->_cakeAndEatIt( $content );
		}

Ну и соответственно понять, что дело в параметре "Document character set" в настройках системы, раздел Server Environment.

 

У меня он был "utf8". Стоило мне поменять его на "utf-8", всё заработало.

Разумеется, мой косяк, что не проэкспериментировал с этим, но... По-моему можно было предсказать вероятность ввода utf8 вместо utf8.

В общем, дело в одном дефисе. Вот так-то.

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18830
Share on other sites

Когда обновлял форум одного из клиентов с 2.3.6, была подобная проблема из за этого дефиса, только проблема была глобальнее - весь текст был крякозябрами :) 

Link to comment
https://ipbmafia.ru/topic/2775-z-vmesto-yu-i-z-vmesto-o/?&do=findComment&comment=18831
Share on other sites
Guest
This topic is now closed to further replies.

Последние посетители 0

  • No registered users viewing this page.