Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
28.11.2006, 13:02 | #1 |
Senior Member
Регистрация: 15.09.2006
Сообщений: 425
|
locallang.xml, проблемы с utf-8 на примере tt_news
Всем привет.
Просмотрел по форуму много постов связанных с кодировкой, но решения не нашел. Понимаю что где то допустил ошибку, но где именно не заметил. Проблема такая: в расширении 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 Там увидил самый просто выход из положения. Вместо использования локалланга, просто прописать все необходимые слова в шаблоне.Таким образом все работает, но хотелось бы разобраться, почему не берутся слова из локалланга в нормальной кодировке? И что сделать что бы это проходило нормально? В других расширениях значит будет такая же проблема, а этого в будущем хотелось бы избежать. Пробовал Русский патч Павла - не помогло. И еще. При поиске нашел что в 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;'; или можно обходиться без нее? |
09.12.2006, 14:30 | #2 |
Продвинутый
|
у меня такая же проблема в ce_gallery
вы нашли решение? |
09.12.2006, 14:34 | #3 | ||||
Administrator
|
Цитата:
и откуда он у вас взят? закачен из репозитория? Цитата:
Цитата:
Цитата:
1) у вас все остается по умолчанию и работает как-то при этом скорее всего не будет правильных сортировок и регистронезависимого поиска 2) вы начинаете разбираться с ситуацией и настраиваете себе полностью корректно utf-8 везде (в связке typo3 PHP MySQL). Тогда без SET NAMES utf8 можно обойтись только если у вас дефолтовая кодировка соединения utf8 и прописана она в mysql.cnf посмотрите, как выглядит база в phpMyAdmin если там кракозябры вместо русского - значит на самом деле база лежит в неправильной кодировке (т.е. не в utf-8) Последний раз редактировалось Valery Romanchev; 09.12.2006 в 14:45 |
||||
09.12.2006, 14:35 | #4 |
Senior Member
Регистрация: 15.09.2006
Сообщений: 425
|
На форуме были предложения использовать фиксированные названия в шаблоне, вместо подставных из локалленга. Сделал так.
|
09.12.2006, 14:41 | #5 |
Senior Member
Регистрация: 15.09.2006
Сообщений: 425
|
а можно ли вот это как то переконвертить? или уже неконвертируемо?
ОбратнаС? С?РІС?Р·СЊ |
12.12.2006, 02:01 | #6 | |
Senior Member
|
Цитата:
Особенно интересны metaCharset,renderCharset - в какой-то доке вроде по мультиязычности читал, что они проставляются автоматом в той же кодировке, что и база хранится. или что-то там с forcecharset связано было - точно не помню... проясните ситуацию) интересно все таки.
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
|
12.12.2006, 04:03 | #7 | |
Senior Member
|
Цитата:
Код:
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8'; 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 Код:
doctype = xhtml_trans Код:
xmlprologue = none Код:
xhtml_cleaning = all
__________________
TYPO3 FAQ |
|
12.12.2006, 12:42 | #8 | |
Administrator
|
Цитата:
forceCharset utf-8 то чтобы была win-1251 в FE надо ставить именно config.metaCharset = winвdows-1251 иначе кракозябры |
|
12.12.2006, 22:40 | #9 |
Senior Member
|
заметил такую штуку:
при $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8'; попытка сохранять некоторые шблоны для расширений в utf-8 приводит к отображению кракозябр при том, что весь сайт в utf-8. сохранение шаблонов в windows-1251 приводит к нормальному отображению в utf-8 на сайте. |
13.12.2006, 14:50 | #10 |
Senior Member
|
Я писал про это... при установке русского языка, Typo3 подразумевает что некоторые поля должны быть в win-1251, как результат неправильное перекодирования с учетом forceCharset.
Либо не ставьте для себя русский язык при работе с шаблонами и помоему с TSConfig... Либо патч примените, я его выкладывал на форум (поиск поможет) |