Jump to content
Reklaman

В генерируемом HTML - кириллица отображается кодами, а не символами UTF

Recommended Posts

Коллеги, развернул движок, обнаружил такую проблему. В генерируемом HTML - кириллица отображается кодами, а не символами UTF.

 

Подскажите, что поменять, настроить?

Share this post


Link to post
Share on other sites
1. Попробуй включить вот эти параметры (ЧПУСпециальные символы в URL, Автоматически переадресовывать на Канонические URL) Это все лежит в Настройки -> SEO и URL

2. При вводе товара ЧПУ генерируется автоматически, как я понял у тебя установлен русский язык, и ЧПУ генерируется на русском, поэтому в браузере у тебя символы в виде кода. Попробуй все ЧПУ заменить на латиницу.

Если много товара то ЧПУ лучше менять прямо в таблице.

Share this post


Link to post
Share on other sites

faand412882, спасибо огромное за ответ.

 

Я тоже пробовал копать в эту сторону.

 

Но в данном случае речь не о ЧПУ, использовании кириллицы в URL-ах, а о не совсем корректном отображении кириллического текста в коде генерируемых страниц, в частности, в мета-тегах title. Вместо обычного текста в результате получаем набор кодов &****#.

 

Возможными причинами я вижу:

1. Кодировка базы.

2. Настройки локализации.

3. Настройки движка работы с кодировками.

Share this post


Link to post
Share on other sites

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

 

Может быть проблема в версии движка, в свежих версиях кириллица поддерживается не совсем корректно?

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

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

Мой вопрос немного о другом. :mellow:

Share this post


Link to post
Share on other sites

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

 

Может быть проблема в версии движка, в свежих версиях кириллица поддерживается не совсем корректно?

 

У меня стоит 1.5.6.1, я ее обновил с версии 1.5.6.0 такой проблемы не наблюдается.

 

Твой сайт уже работает, или еще в тестовом режиме на локальном сервере?

 

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

Edited by faand412882 (see edit history)

Share this post


Link to post
Share on other sites

Я ответил на этот вопрос:

 

Может быть проблема в версии движка, в свежих версиях кириллица поддерживается не совсем корректно?

 

У меня в версии 1.5.6 — всё путём.

  • Like 1

Share this post


Link to post
Share on other sites

Я ответил на этот вопрос:

 

 

У меня в версии 1.5.6 — всё путём.

 

Теперь понял, спасибо!!

Share this post


Link to post
Share on other sites

У меня стоит 1.5.6.1, я ее обновил с версии 1.5.6.0 такой проблемы не наблюдается.

 

Твой сайт уже работает, или еще в тестовом режиме на локальном сервере?

 

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

 

 

А HTML генерируется с переносами строк между тегами или сплошным текстом?

Может, проблема в шаблоне или настройках генерации HTML?

Share this post


Link to post
Share on other sites

А HTML генерируется с переносами строк между тегами или сплошным текстом?

Может, проблема в шаблоне или настройках генерации HTML?

 

Посмотри вот здесь как все выглядит http://test.i-shop-hermes.com/ это тестовый сайт, все как говорится из коробки работает, только css стили подправлены и отредактированы несколько шаблонов.

 

Твой сайт уже работает, или еще в тестовом режиме на локальном сервере?

Share this post


Link to post
Share on other sites

Твой сайт уже работает, или еще в тестовом режиме на локальном сервере?

 

 

Я развернул сайт на тестовой площадке на хостинге.

Но засветить урл пока не могу, скрины - тоже.

 

Если честно, но очень понимаю, в чем смысл на локальной версии разворачивать.

Share this post


Link to post
Share on other sites

Посмотри вот здесь как все выглядит http://test.i-shop-hermes.com/ это тестовый сайт, все как говорится из коробки работает, только css стили подправлены и отредактированы несколько шаблонов.

 

Посмотрел и вижу, что аналогично, все в кодах отображается.

 

Вот пример фрагментов исходного кода Вашего сайта:

 

 

<title>&#1043;&#1083;&#1072;&#1074;&#1085;&#1072;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1084;&#1072;&#1075;&#1072;&#1079;&#1080;&#1085;&#1072; - i-Shop Hermes</title>

 

 

 

<a href="http://test.i-shop-hermes.com/pro-tools/pro-tools-sets/"         title="&#1053;&#1072;&#1073;&#1086;&#1088;&#1099; &#1080;&#1085;&#1089;&#1090;&#1088;&#1091;&#1084;&#1077;&#1085;&#1090;&#1086;&#1074;">&#1053;&#1072;&#1073;&#1086;&#1088;&#1099; &#1080;&#1085;&#1089;&#1090;&#1088;&#1091;&#1084;&#1077;&#1085;&#1090;&#1086;&#1074;</a>

Share this post


Link to post
Share on other sites

Если я правильно понял проблему, то Вам сюда

 

О, DNN, спасибо большое, буду разбираться!!

Share this post


Link to post
Share on other sites

Посмотрел и вижу, что аналогично, все в кодах отображается.

 

Вот пример фрагментов исходного кода Вашего сайта:

 

В chrome и firefox отображается в текстовом варианте, а вот IE вижу коды.

Share this post


Link to post
Share on other sites

В chrome и firefox отображается в текстовом варианте, а вот IE вижу коды.

 

Мы что-то как слепой с глухим разговариваем.

 

В первый раз слышу, чтобы движок отдавал разный код для разных браузеров.

На всякий случай проверил во всех трех перечисленных Вами браузерах - везде одинаково, вместо кириллицы вылазит коды.

 

Простите за вопрос в лоб, Вы уверены в том, что написали

и действительно понимаете, что такое генерируемый код HTML?

Share this post


Link to post
Share on other sites

Мы что-то как слепой с глухим разговариваем.

 

В первый раз слышу, чтобы движок отдавал разный код для разных браузеров.

На всякий случай проверил во всех трех перечисленных Вами браузерах - везде одинаково, вместо кириллицы вылазит коды.

 

Простите за вопрос в лоб, Вы уверены в том, что написали

и действительно понимаете, что такое генерируемый код HTML?

 Для себя не вижу смысла писать то, что не вижу. У вас одно, у меня другое.

Share this post


Link to post
Share on other sites

как я понял ботам вообще все равно какой текст, кодом или просто буквами

Share this post


Link to post
Share on other sites

как я понял ботам вообще все равно какой текст, кодом или просто буквами

 

zapatronen, Вы хотите сказать, что на индексацию сайта поисковыми системами и позиции в выдаче это влиять не будет?

Мне кажется, негативный фактор все же буде.

Share this post


Link to post
Share on other sites

 Для себя не вижу смысла писать то, что не вижу. У вас одно, у меня другое.

 

Не совсем Вас понял, что Вы имеете в виду?

И Вы не ответили на мой вопрос.

Share this post


Link to post
Share on other sites

Не совсем Вас понял, что Вы имеете в виду?

И Вы не ответили на мой вопрос.

Я уже запутался где какой вопрос! Если ты о кодах &****#, то я их отличаю как визуально так и на ощупь :mellow:

Но не пойму чем они тебя напрягают?

Share this post


Link to post
Share on other sites

Столкнулся с похожей проблемой. Суть оказалась в чем:

 

Сначала я обратил внимание на разницу в следующем коде:

 

<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
{if isset($meta_description) AND $meta_description}<meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />{/if}

title писался html символами, а meta description нормальными советскими буквами.

 

Дальше я полез разбираться в Smarty, в чем разница между htmlall и html, оказалось, что в случае html Smarty возвращает следующее:

htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);

А в случае с htmlall:

$string = htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);
return mb_convert_encoding($string, 'HTML-ENTITIES', $char_set);

Где параметр 'HTML-ENTITIES' преобразует все non-ASCII символы в html коды. По какой причине наша письменность не попадает в  ASCII для меня остается загадкой.

Edited by TarasovSA (see edit history)

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More