Page 1 of 1
Кракозябры в 1.6.6
Posted: Tue Dec 15, 2009 11:52 am
by rAlex
Чтобы долго не рассказывать покажу картинкой
То есть при вставки ссылки на страницу получается вот такая вот шляпа.
Что делать?
Как быть?
p.s. хостинг мастерхост, в хтаксесс утф-8 прописан...
Re: Кракозябры в 1.6.6
Posted: Tue Dec 29, 2009 7:11 pm
by dimlevnik
В конфиге можно поставить, если нету
$config['locale'] = 'ru_RU.UTF8';
$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';
Re: Кракозябры в 1.6.6
Posted: Thu Jan 14, 2010 7:38 am
by von-hamster
Это-же решает проблему с новостями (вывод в админке, и использование модификатора типа "%d %B %Y года, %R")
Re: Кракозябры в 1.6.6
Posted: Sun Feb 14, 2010 7:34 am
by legko
У меня такая же фигня, только сдается мне, что config.php здесь не причем.
Копать нужно ява скриптах в Tiny MCE.
Re: Кракозябры в 1.6.6
Posted: Tue Feb 16, 2010 8:52 am
by 14m3r
У меня такая же проблема.
Снял дамп, глянул в нём, там всё нормально, без каких либо кракозябр. По всей видимости, косяк в скрипте, который производит выбоку из базы. Знающие люди, подскажите, где происходит сие действие? Мне хотя бы название файлика, дальше я сам разберусь.

Re: Кракозябры в 1.6.6
Posted: Tue Feb 16, 2010 12:29 pm
by legko
У меня ссылку вставляет правильно, только название страницы кракозябрами
Code: Select all
{cms_selflink page='alyuminij-sernokislyj' text='�л�миний �е�ноки�л�й'}
думаю, что руками подкорректировать несложно
А проблема в ява скрипте - данные он выдает в кодировке CP1252
Исходное слово: Алюминий сернокислый
при перекодировке из CP1252 → UTF-8 получается вот что:
Налицо неумение ява-скрипта понимать двухбайтовую кодировку.
Рыть нужно здесь по слову "cmslinker" (без кавычек):
\modules\TinyMCE\action.saveadvanced.php
\modules\TinyMCE\action.savetoolbar.php
\modules\TinyMCE\function.admin_advanced.php
\modules\TinyMCE\function.admin_toolbar.php
\modules\TinyMCE\TinyMCE.module.php
а дальше смотреть сами ява скрипты TinyMCE
Re: Кракозябры в 1.6.6
Posted: Wed Feb 24, 2010 1:31 pm
by leschenko
Та же проблема при создании новых папок на русском. И при загрузке файлов с русским названием.
Так что конкретно делать то, подскажите для новичкаб пожалуйста.
Re: Кракозябры в 1.6.6
Posted: Fri Feb 26, 2010 12:00 am
by dexel
rAlex wrote:
Чтобы долго не рассказывать покажу картинкой
То есть при вставки ссылки на страницу получается вот такая вот шляпа.
Что делать?
Как быть?
p.s. хостинг мастерхост, в хтаксесс утф-8 прописан...
Это 100% причина в районе substr() -> mb_substr(xx, yy, zz, 'UTF-8'), там где визивиг эту навигащию формирует.
И не слушай тех, кто говорят что на уровне базы. Видишь там обрезание строки? Оно происходит на уровне PHP. И делается для UTF второй командой. А т.к. CMSMS мутировала с кодировки ISO-xx59, то и код не весь ещё ригхтонули под UTF.
Re: Кракозябры в 1.6.6
Posted: Thu Apr 29, 2010 2:04 pm
by Wing777
Решил эту проблему для 1.7 (TinyMCE 2.6.5):
1. Поиск и замена в \modules\TinyMCE всего, что связано с substr на mb_substr
2. замена htmlspecialchars(...,ENT_QUOTES) на htmlspecialchars(...,ENT_QUOTES, 'UTF-8') в нескольких местах в TinyMCE.module.php
3. перекодировать TinyMCE.module.php из ANSI в UTF-8 without BOM (может и не надо)
4. Очистить кэш в настройках системы, сбросить все настройки у TinyMCE (может и не надо)
Есть уже исправленный архив модуля, напишите в личку, не могу прикрепить, так как он больше 128Кб.
Re: Кракозябры в 1.6.6
Posted: Thu Sep 16, 2010 7:01 pm
by atiwac
Аналогичная проблема на 1.8.2. Неужели это дело до сих пор не пофиксили и надо решать вопрос методом Wing777? Такой «патчинг» исходников редактора не представляется особо приятной перспективой, особенно если задумываться о возможном обновлении CMS в будущем.
Re: Кракозябры в 1.6.6
Posted: Thu Sep 16, 2010 7:27 pm
by Wing777
Я делал небольшие сайты и там как-то все сводилось к редактированию исключительно файла TinyMCE.module.php (modules/TinyMCE), в общем вот модуль в архиве весь:
http://depositfiles.com/files/4fv8xae3h
- у кого есть возможность залить на свой хостинг или сделать зеркало этого архива - было бы хорошо.
В "ветвистых" сайтах, когда название страницы длинное и большой уровень вложенности, еще такой баг: вместо названия многоточие "..." – тоже починено.
Отпишитесь плз, помогло или нет.
Re: Кракозябры в 1.6.6
Posted: Thu Sep 16, 2010 8:10 pm
by atiwac
Ни файл
TinyMCE.module.php, ни весь модуль из архива CMSMS 1.8.2 не приняла — видимо, есть там какой-то конфликт версий. Сравнив две версии файлов
TinyMCE.module.php, внёс следующие изменения в оригинальный
TinyMCE.module.php:
- — замена функций substr() → mb_substr(); substr_count() → mb_substr_count();
- — добавление третьего параметра к вышеупомянутым функциям — 'UTF-8';
- — добавление параметра 'UTF-8' к функциям htmlspecialchars() и htmlentities().
Всё стало работать корректно.
Выкладывать обновлённый файл считаю бессмысленным — с выходом новых версий меняется API, а соответственно и файлы модулей. Значит этот файл с большой долей вероятности не будет работать на старших версиях CMSMS.
Спасибо за помощь.