Автор Тема: Символы букв в место букв  (Прочитано 4034 раз)

05 Апрель 2013, 18:05:29
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток.
Недавно смотрел HTML код страницы и обнаружил символы в место русских букв
Вот пример:
<title>&#1052;&#1103;&#1075;&#1082;&#1072;&#1103; &#1084;&#1077;&#1073;&#1077;&#1083;&#1100; - bestmebel.com - bestmebel.com - &#1052;&#1077;&#1073;&#1077;&#1083;&#1100;&#1085;&#1099;&#1081; &#1080;&#1085;&#1090;&#1077;&#1088;&#1085;&#1077;&#1090;-&#1084;&#1072;&#1075;&#1072;&#1079;&#1080;&#1085;</title>
Причем такое поведение присутствует именно там где шаблон выводит не текст а переменную.
Пробовал проверить кодировку документа... она в UTF-8 и пробовал менять в админке на дефолтный шаблон... толку никакого.
Может кто подскажет в чем дело и как можно исправить это?
05 Апрель 2013, 22:43:48
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это из-за того, что кодировка базы не utf8.
05 Апрель 2013, 22:58:23
Ответ #2
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Она именно в ней!
Я провел эксперемент... установил чисты абсолютно не тронутый движок...
Там такая же лажа...
06 Апрель 2013, 11:54:05
Ответ #3
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Для проверки базы данных.
На главной страницы phpMyAdmin, сделайте запрос через вкладку "SQL"
SHOW GLOBAL VARIABLES;и смотрите вывод этого запроса. Только переменные начинающиеся с
character_
collation_

Есди у вас только переменная в title имеет такой вид, а остальные поля с русским тестом показанны правильно, то проверьте кодировку браузера. Кодировку поля
meta_titleв таблице
ps_product_lang
07 Апрель 2013, 13:20:40
Ответ #4
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
После выполнения этого действия я уже сомневаюсь что у меня кодировка UTF8 SHOW GLOBAL VARIABLES;
Скриншот прилагается!
Возможно что из за этого все так криво?
Если да то может кто знает как полечить?
07 Апрель 2013, 13:32:45
Ответ #5
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
До кучи еще выкачал всю базу и открыл ее в нотпад++
И нотпад++ говорит что файл в кодировке UTF-8 без BOM
07 Апрель 2013, 14:20:14
Ответ #6
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Изменить нужно  collation_connection

07 Апрель 2013, 16:51:55
Ответ #7
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как показано на скрине там стоит то что и у вас!
А вот в чем было дело!
Полез еще раз смотреть html сайта и обратил внимание на то что у меня в тайтле все криво а в мета дискрипшн все ок!
попытался сравнить уже в header.tpl эти две строки
Цитировать
<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
<meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />
Заметил что в title написано htmlall а в meta name="description просто html
убрал из title all и оставил только html
Все ок! теперь тайтл не символами а русскими буквами)))
Единственное только я слабо понимаю что я сделал и что это за all??
Если кто объяснит будет отлично))
08 Апрель 2013, 12:02:21
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 176
  • Репутация: +0/-0
    • Просмотр профиля
Escape Smarty
{$articleTitle|escape:'html'}    {* экранирует  & " ' < > *}
{$articleTitle|escape:'htmlall'} {* экранирует ВСЕ HTML-теги *}
Так что не в этом дело, если только в заголовке не используются теги.
08 Апрель 2013, 12:27:51
Ответ #9
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите адрес сайта
И если не сложно вставьте сюда код header.tpl из вашей темы
08 Апрель 2013, 13:16:19
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 176
  • Репутация: +0/-0
    • Просмотр профиля
header.tpl
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}">
<head>
<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}
{if isset($meta_keywords) AND $meta_keywords}
<meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" />
08 Апрель 2013, 13:22:07
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 176
  • Репутация: +0/-0
    • Просмотр профиля
Доброго времени суток.
Недавно смотрел HTML код страницы и обнаружил символы в место русских букв
Вот пример:
<title>&#1052;&#1103;&#1075;&#1082;&#1072;&#1103; &#1084;&#1077;&#1073;&#1077;&#1083;&#1100; - bestmebel.com - bestmebel.com - &#1052;&#1077;&#1073;&#1077;&#1083;&#1100;&#1085;&#1099;&#1081; &#1080;&#1085;&#1090;&#1077;&#1088;&#1085;&#1077;&#1090;-&#1084;&#1072;&#1075;&#1072;&#1079;&#1080;&#1085;</title>
Title в кодировке iso8859-5
08 Апрель 2013, 15:22:42
Ответ #12
  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Замените
Цитировать
<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
на
Цитировать
<title>{$meta_title|escape:'html':'UTF-8'}</title>

И включите принудительную перекомпиляцию и отключите кэш.
29 Сентябрь 2014, 16:00:46
Ответ #13
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Добрый день.

Подскажите пожалуйста, как можно поменять значение переменной Global Veriables в таблице MySQL?
У меня проблема с кодировкой на сайте: поставил ссылку на страницу товара, а она отображается заковыками, вместо русских букв.
29 Сентябрь 2014, 16:10:29
Ответ #14
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у вас только одна фраза показывается неправльно, тогда нужно менять кодировку файла шаблона.
Откройте файл TPL в редакторе, измените кодировку в настройках, измените фразу, сохраните файл в UTF-8 (не unicode, а имено utf8).