Просмотр полной версии : locallang.xml, проблемы с utf-8 на примере tt_news
Andrey Grey
28.11.2006, 13:02
Всем привет.
Просмотрел по форуму много постов связанных с кодировкой, но решения не нашел. Понимаю что где то допустил ошибку, но где именно не заметил.
Проблема такая: в расширении tt_news (да наверное и во всех остальных), при импорте локали из файла locallang.xml, слова заменяются на вопросы.
Что имеется:
Движок Т3 4.02 Пхп4
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
Setup:
config {
metaCharset = utf-8
renderCharset = utf-8
notification_email_encoding = quoted-printable
notification_email_charset = koi8-r
language = ru
locale_all = ru_RU
doctype = xhtml_trans
xmlprologue = none
xhtml_cleaning = all
}
Самой полезной веткой в этом плане оказалась :Breaking News (http://forum.typo3.biz/showthread.php?t=1739&highlight=utf-8)
Там увидил самый просто выход из положения. Вместо использования локалланга, просто прописать все необходимые слова в шаблоне.Таким образом все работает, но хотелось бы разобраться, почему не берутся слова из локалланга в нормальной кодировке? И что сделать что бы это проходило нормально? В других расширениях значит будет такая же проблема, а этого в будущем хотелось бы избежать.
Пробовал Русский патч Павла - не помогло.
И еще. При поиске нашел что в localconf.php нужно прописывать
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
В результате все дерево сайта сменило кодировку и стало похоже на отображение win1251 в utf-8 (ОбратнаС? С?РІС?Р·СЊ).
Проверил базу:
Language Info:Russian (ru-utf-8)
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8_general_ci
Но в таблицах Сравнения (collation) стоит cp1251_general_ci.
1 Может ли это влиять?
2 Необхоодимо ли менять кодировку таблицы?
3 Необходимо ли $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'; или можно обходиться без нее?
у меня такая же проблема в ce_gallery
вы нашли решение?
Valery Romanchev
09.12.2006, 14:34
Проблема такая: в расширении tt_news (да наверное и во всех остальных), при импорте локали из файла locallang.xml, слова заменяются на вопросы.а в locallang.xml все в какой кодировке?
и откуда он у вас взят? закачен из репозитория?
Проверил базу:
Language Info:Russian (ru-utf-8)
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8_general_ci
Но в таблицах Сравнения (collation) стоит cp1251_general_ci.
1 Может ли это влиять?не должно.
2 Необхоодимо ли менять кодировку таблицы?
да, конечно. Иначе будет неправильная сортировка и поиск.
3 Необходимо ли $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'; или можно обходиться без нее?
Вообще есть 2 варианта:
1) у вас все остается по умолчанию и работает как-то
при этом скорее всего не будет правильных сортировок и регистронезависимого поиска
2) вы начинаете разбираться с ситуацией и настраиваете себе полностью корректно utf-8 везде (в связке typo3 PHP MySQL). Тогда без SET NAMES utf8 можно обойтись только если у вас дефолтовая кодировка соединения utf8 и прописана она в mysql.cnf
посмотрите, как выглядит база в phpMyAdmin
если там кракозябры вместо русского - значит на самом деле база лежит в неправильной кодировке (т.е. не в utf-8)
Andrey Grey
09.12.2006, 14:35
На форуме были предложения использовать фиксированные названия в шаблоне, вместо подставных из локалленга. Сделал так.
Andrey Grey
09.12.2006, 14:41
а можно ли вот это как то переконвертить? или уже неконвертируемо?
ОбратнаС? С?РІС?Р·СЊ
Setup:
config {
metaCharset = utf-8
renderCharset = utf-8
notification_email_encoding = quoted-printable
notification_email_charset = koi8-r
language = ru
locale_all = ru_RU
doctype = xhtml_trans
xmlprologue = none
xhtml_cleaning = all
}
У меня вопрос по этим настройкам. Обязательны ли они все? Следует ли их добавлять для каждого сайта, это стандарт типа?
Особенно интересны metaCharset,renderCharset - в какой-то доке вроде по мультиязычности читал, что они проставляются автоматом в той же кодировке, что и база хранится. или что-то там с forcecharset связано было - точно не помню...
проясните ситуацию) интересно все таки.;)
У меня вопрос по этим настройкам. Обязательны ли они все? Следует ли их добавлять для каждого сайта, это стандарт типа?
Особенно интересны metaCharset,renderCharset - в какой-то доке вроде по мультиязычности читал, что они проставляются автоматом в той же кодировке, что и база хранится. или что-то там с forcecharset связано было - точно не помню...
проясните ситуацию) интересно все таки.;)
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
Это - кодировка бекенда. Если не указаны config.renderCharset и config.metaCharset - то они копируются отсюда.
renderCharset вполне может быть win-1251 при кодировке базы utf-8, в этом случае у вас фронтэнд будет в win-1251, а бекенд - в utf-8. Для бекенда utf-8 настоятельно рекомендуется.
Также, если не указана config.metaCharset - то она копируется из config.renderCharset.
notification_email_encoding = quoted-printable
notification_email_charset = koi8-r
Эти настройки - для почты.
config.language = ru
Эта - главная настройка языка, определяющая, например, язык локализации плагинов...
locale_all = ru_RU
Это - настройка локали PHP. Определяет в осноном вывод функций даты-времени. Чтобы было не Janutember, а Мартобрь.
doctype = xhtml_trans
Это - ваш доктайп. Совершенно необязательно - xhtml_trans. Смотрите по вёрстке, что у вас.
xmlprologue = none
Опять же, нужно не всегда.
xhtml_cleaning = all
Очистка html и преобразование в xhtml силами тайпы. Вообще, можно подключить tidy, но, я думаю, это будет сильно замедлять генерацию страниц.
Valery Romanchev
12.12.2006, 12:42
Это - кодировка бекенда. Если не указаны config.renderCharset и config.metaCharset - то они копируются отсюда.
renderCharset вполне может быть win-1251 при кодировке базы utf-8, в этом случае у вас фронтэнд будет в win-1251, а бекенд - в utf-8.как ни странно, если
forceCharset utf-8
то чтобы была win-1251 в FE надо ставить именно
config.metaCharset = winвdows-1251
иначе кракозябры
filippoff
12.12.2006, 22:40
заметил такую штуку:
при $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
попытка сохранять некоторые шблоны для расширений в utf-8 приводит к отображению кракозябр при том, что весь сайт в utf-8. сохранение шаблонов в windows-1251 приводит к нормальному отображению в utf-8 на сайте.
Pavel Antonov
13.12.2006, 14:50
Я писал про это... при установке русского языка, Typo3 подразумевает что некоторые поля должны быть в win-1251, как результат неправильное перекодирования с учетом forceCharset.
Либо не ставьте для себя русский язык при работе с шаблонами и помоему с TSConfig... Либо патч примените, я его выкладывал на форум (поиск поможет)
locale_all = ru_RU
Это - настройка локали PHP. Определяет в осноном вывод функций даты-времени. Чтобы было не Janutember, а Мартобрь.
не могу настроить вывод дат в tt_news на русском языке
у меня след. настройки:
config {
metaCharset = windows-1251
renderCharset = UTF-8
locale_all = ru_RU
language = ru
}
Всё равно выводится "Thursday 18. of January 2007 Давность: 5 days"
В Windows оказывается надо было ввести
config.locale_all = rus
даты типа 12 января 2007 выводить не получается, оставил 12 янв 2007
но вот давность почему-то остаётся на англ. языке даже после смены локали:
18.01.07 20:37 Давность: 5 days
Никто не знает, как это решается? Видел, на некоторых сайтах по-русски отображается...
даты типа 12 января 2007 выводить не получается, оставил 12 янв 2007
но вот давность почему-то остаётся на англ. языке даже после смены локали:
18.01.07 20:37 Давность: 5 days
Никто не знает, как это решается? Видел, на некоторых сайтах по-русски отображается...
age_stdWrap.age = мин. | ч. | дн. | г.
Недавно установил на один сайт расширение full_backup. После апдейта транслейта на русский - вместо слов появились кракозябры. Проверил Locallang - в нем все указано корректно. Закралось подозрение, а не виноват ли сам файл? (т.к. в настройках сервера я не сомневался). Открыл файл с помощью проги bred3 и поменял кодировку (ANSII) на утф-8. После этого перезалил на сервер и все прекрасно заработало.
Так что прежде чем ломать голову , проверьте простые вещи)
Попробуйте пересохранить "locallang.xml" в другой кодировке!
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot