Перейти к публикации

При добавлении комментария не добавляются юникодовские шрифты


Рекомендованные сообщения

Сайт www.bash-portal.ru

При добавлении комментария некоторые введенные буквы(юникод) например ң, ә, ҡ пропадают. Т.е. насколько я знаю, при добавлении комментарии эти буквы отсеиваются. Где это можно исправить?

http://www.bash-portal.ru/news/3404-y1241shlek-g1241zite-zhurnalisty-nur-11841177yrbaev-sport-tema1211yna-viktorina-1199tk1241r1241.html#comment

Т.е. вот эта фраза: Яңылыҡтарҙы тик е-майла ебәрергә! получается вот так: Яылытары тик е-майла ебрерг!

Насколько я помню, менял в каком-то файле что-то типа ABCDEFG..........1234567890 на ту, которая поддерживает юникод. После покупки лицензии и обновления движка на лицензионной все это пропало. И найти где это менять не могу. :(

Спасибо!

Изменено пользователем yeshlek
Ссылка на сообщение
Поделиться на других сайтах

Начнем с этого:

http://clip2net.com/clip/m73798/1300811176-clip-4kb.png

Логично, что не работает юникод. ДЛЕ стоит какой кодировки? А база?

Ссылка на сообщение
Поделиться на других сайтах

Начнем с этого:

http://clip2net.com/clip/m73798/1300811176-clip-4kb.png

Логично, что не работает юникод. ДЛЕ стоит какой кодировки? А база?

Тут кодировка сайта не причем! шрифт сайта указан тот, который поддерживает юникод. Ариал Юникод МС. Естественно при выводе на сайты автоматически вытаскивается юникодовский символ(через код).

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

Вопрос остался. Подскажите, плиз, где, в каком файле фильтруются буквы при добавлении комментария? Т.е. там стоит защита, которая пропускает лишь символы латинского и русского алфавита... Потому при добавлении юникодовского символа сивол пропускается. Другие символы(кириллица, латиница) успешно добавляется.

Изменено пользователем yeshlek
Ссылка на сообщение
Поделиться на других сайтах

Тут кодировка сайта не причем! шрифт сайта указан тот, который поддерживает юникод. Ариал Юникод МС.

еще как причем, а вот шрифт здесь совсем не причем. У вас на сайте стоит кодировка windows-1251, а в этой кодировке нет таких символов. Вам нужно использовать именно UTF-8 версию скрипта, а не windows-1251

Ссылка на сообщение
Поделиться на других сайтах

А при добавлении самих новостей юникодовские шрифты добавляются без проблем! Почему? Сайт ведь все еще на Windows-1251. И получается, при добавлении в новости символа иҢ он добавляется в виде иҢ, а при добавлении в комментарии символа иҢ он не добавляется, просто игнорируется, т.е. получается как и.

Скажу так, в самом начале я где-то нашел информацию, а поменял на каком-то файле строчку, которыми фильтруются буквы. добавляемые в комментарии. Оно примерно представляло линейку шрифтов, например, как BBCDEF.............1234567890 , а сейчас не могу найти и вспомнить :(

При выводе юникодовского символ на сайте он ИТАК БУДЕН ВЫВОДИТСЯ ПРАВИЛЬНО, так как он читается по коду. Т.е. для танкистов: пробел при добавлении в базу добавляется как  (мнемокод). И при выводе на сайт браузер его читает как код пробела, и вместо этого кода( ) выводит пробел. Так же при добавлении на сайт другого символа , к примеру &# 1056;(буквы р) или &#04A2; (буквы ң) юникода он также при выводе браузером будет читаться не как код, а как букво кодировки UTF-8.

ПРи добавлении новости этот код в базу добавляется правильно. А при добавление как коментарий он фильтруется, и в базу не попадает..

И все.

http://www.sergeygusev.ru/_text/art_unicode.shtml

http://ru.wikipedia.org/wiki/Р_(кириллица)

Изменено пользователем yeshlek
Ссылка на сообщение
Поделиться на других сайтах

Я не понимаю, чего вы спорите. Вы хотите решить проблему или поспорить? Вам же объяснили, что у вас сайт в кодировке win-1251, а она поддерживает ТОЛЬКО английские и русские шрифты. Переставьте движок на utf-8 и все заработает.

Ссылка на сообщение
Поделиться на других сайтах

Не хватит. ;)

Обновление сайта с кодировки windows-1251 на кодировку UTF-8:

Если вы все таки решились на обновление кодировки своего сайта, то вы должны знать, что из-за различий форматов, вы не можете просто обновить файлы скрипта и без новой установки скрипта вам не обойтись, поэтому для обновления сайта вы должны выполнить следующие шаги:

1. Сделать бекап базы данных существующего сайта в кодировке windows-1251

2. Произвести новую установку скрипта используя дистрибутив скрипта для UTF версии.

3. Произвести повторные настройки скрипта для вашего сайта.

4. Сконвертировать файлы вашего шаблона в формат UTF-8 (для пакетного конвертирования мы рекомендуем использовать утилиту Sisulizer's Kaboom), при конвертировании снимите галочку "Записывать BOM байты"

5. Скопировать файл бекапа базы данных от вашего сайта в папку /backup/, который вы делали в первом пункте.

6. Зайти в админпанель скрипта и сделать восстановление базы данных а админпанели, скрипт автоматически распознает несоответствие кодировок и при восстановлении сконвертирует базу данных в формат UTF.

Внимание: Действия по переносу сайта с кодировки windows-1251 на кодировку UTF-8 являются необратимыми и любая ошибка может привести к потери данных вашего сайта, поэтому мы настоятельно рекомендуем производить данные действия на локальном компьютере, а уже потом переносить все на рабочий сайт.

Ссылка на сообщение
Поделиться на других сайтах

А при добавлении самих новостей юникодовские шрифты добавляются без проблем! Почему?

Они не добавляются вы исходный код посмотрите, у вас вместо символов их HTML сущности, в который сервер перекодирует автоматически и только потом они поступают в скрипт. В результате у вас никакой поисковой индексации, только вывод. И подобное перекодирование вам сделал сервер а не скрипт автоматически, когда данные поступили ему из формы. И это не буквы юникода, это HTML сущности и вы заблуждаетесь что работает юникод и ваш шрифт его поддерживает или что то подобное в этом роде.

Комментарии это технология AJAX, в которой нет подобного серверного перекодирования символов, т.к. нет классического поступления данных на сервер из формы при перезагрузке страницы, в результате в скрипт не поступают HTML сущности символов, поэтому они и пропадают, а не скрипт их удаляет.

Вся ваша проблема это проблема именно в выборе неверной кодировки для сайта.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...