Вход

Просмотр полной версии : Неправильное отображение кириллицы в Templavoila


Uznick
06.06.2006, 19:35
Кириллические названия полей отображаются в списке в виде "Íàøà Ñòóäèÿ
Íàøà Ìèññèÿ", а при редактировании страницы в поле content в виде "Íàøà Ñòóäèÿ"

На сколько я понимаю, какая-то проблема с юникодом.

Но у меня в setup темплейта прописано

config {
metaCharset = windows-1251
renderCharset = windows-1251
notification_email_encoding = 8bit
notification_email_charset = windows-1251
language = ru
locale_all = ru_RU.CP1251
}

Язык бэкофиса английский, но forceCharset стоит windows-1251

Это как-нибуль можно вылечить?

Valery Romanchev
06.06.2006, 20:01
какая версия Typo3 ?
какая версия Php ?

Uznick
06.06.2006, 20:09
typo3 4.0
php 4.3.11

Valery Romanchev
06.06.2006, 20:44
у меня работает на
typo3 4.0
php 4.3.11

в случае:
1) текст вводится в DS когда язык интерфейса русский
2) отображается нормально когда язык интерфейса русский

Понятно почему так.

Совет: если не хотите проблем такого плана - юзайте utf8

Uznick
06.06.2006, 20:58
спасибо, придётся на юникод переходить.

Uznick
07.06.2006, 01:23
Теперь кириллица отображается в виде Р?аша СтудиС?.

Причём как выяснилось, проблема не с templavoila.

Тоже самое происходит и в модуле List.

Uznick
07.06.2006, 01:27
Может ли быть проблема в том, что у меня collation у таблиц стоит cp1251_general_ci

А все переменные базы выставлены как

character set client cp1251 cp1251
character set connection cp1251 cp1251
character set database cp1251 cp1251
character set results cp1251 cp1251
character set server cp1251 cp1251
character set system utf8 utf8
collation connection cp1251_general_ci cp1251_general_ci
collation database cp1251_general_ci cp1251_general_ci
collation server cp1251_general_ci cp1251_general_ci


Версия mysql - 4.1.19-community-nt

Valery Romanchev
07.06.2006, 01:52
теперь кириллица отображается в виде р?р°с€р° рўс‚сѓрґрёсџ. что поменяли?
было ведь нормально - только нававния полей Tv криво выводились?

у меня на www.iliqchuan.ru
при forceCharset windows-1251 база стоит в latin
работает нормально (конечно нет сортировок и регистронезависимого поиска... но это и не требуется)

Uznick
07.06.2006, 01:55
ForceCharset=UTF-8 задал.

Судя по всему и раньше везде косяки были, я просто через TV смотрел.

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

Valery Romanchev
07.06.2006, 01:57
ForceCharset=UTF-8 задал.

понятно - надо после этого весь контент конвертировать.
Есть экстеншен для этого - см репозиторий по слову uft
(его Андрей Шварцкопф писал)

Uznick
07.06.2006, 02:08
Я сайт убил сразу после того как forceCharset поменял, благо там всего одна тестовая страничка была, и заново весь контент создал, уже в UTF-8.

Зашёл посмотреть в базу через phpmyadmin в таблицу tx_templavoila_datastructure. Там всё благолучно в юникоде лежит. Но collation самой таблицы cp1251.

Может mysql неправильно вытаскивает и конвертирует? Такое впечатление что она считает что эти данные не в юникоде, а в 1251 как раз =\

Valery Romanchev
07.06.2006, 02:20
Но collation самой таблицы cp1251.

Может mysql неправильно вытаскивает и конвертирует? Такое впечатление что она считает что эти данные не в юникоде, а в 1251 как раз =\
да, наверняка.
Надо чтобы база была в utf8
т.е. создать ее в utf8... а уже потом через install tool создать все таблицы

Pavel Antonov
07.06.2006, 14:46
Если речь идет, например, о названиях полей TV - то это ошибка. При установленном русском языке и forceCharset=utf-8, Typo3 не смотря ни на что думает что все данные для названий полей идут в windows-1251.

В результате неправильная перекодировка.

У меня есть расширение, которое рещает эту проблему, но все старые плагины будут не корректно отображать русский текст (благо таких уже совсем мало).

Uznick
08.06.2006, 03:20
спасибо, буду проверять :)

Uznick
08.06.2006, 15:58
Cпасибо, всё помогло.

А такого патча для windows-1251 случаем нет в природе?

Pavel Antonov
08.06.2006, 17:10
Cпасибо, всё помогло.
А такого патча для windows-1251 случаем нет в природе?
Для windows-1251 (если используется только он и нигде в сиситеме не присутствует utf-8) ничего не нужно... должно работать и так. Однако, так система не будет работать вообще под PHP 5+.

Uznick
08.06.2006, 17:13
А были точно такие же косяки. Странно.

Переменные базы


character set client cp1251 cp1251
character set connection cp1251 cp1251
character set database cp1251 cp1251
character set results cp1251 cp1251
character set server cp1251 cp1251
character set system utf8 utf8
collation connection cp1251_general_ci cp1251_general_ci
collation database cp1251_general_ci cp1251_general_ci
collation server cp1251_general_ci cp1251_general_ci


character set system utf8 utf8 как ни пытался, сменить не получилось.

После установки патча, спился русский перевод kickstarter'a :)

Tod
27.07.2006, 17:02
патч, что повыше работает... пока вроде все ок. единственное, что это хорошо смотрится при русском интерфейсе, а при английской интерфейсе отображаются "кракозябры"...
в связи с этим у меня вопрос. можно как-то сделать так чтобы в каждом из интерфейсов (англ, рус) был свой перевод для этого поля?.. ну как у других расширениях.

Basilio Cat
30.07.2006, 02:04
Патч отлично фиксит проблему с показом юникода в самих страницах, однако у меня перестал открываться сам редактор (маппинг) TV (урл /typo3conf/ext/templavoila/cm1/index.php?table=tx_templavoila_tmplobj&uid=2&_reload_from=1). Просто висит и все, потом отваливается по таймауту.
PHP 4.3, MySQL 5.0
P.S.: Может врочем я при перекодировке в utf8 что-то напортачил, TV вообще немного странно себя ведет