Вход

Просмотр полной версии : Даты в utf-8 в strftime


Дылгеров Ц.В.
29.03.2007, 05:54
Использую forceCharset utf-8.

Пишу в TS для tt_news слово "года":
config.language = ru
config.locale_all = ru_RU.CP1251
displayList {
date_stdWrap.strftime= %d %B %Y года, %A
time_stdWrap.strftime= %d.%m.%y %H:%M
}

Во фронтэнд выходят кракозябры: 28 марта 2007 РіРѕРґР°, среда

Непонятно почему, ведь все, и вывод и BE в одной кодировке.

Заремариваю config.locale_all = ru_RU.CP1251
config.language = ru
#config.locale_all = ru_RU.CP1251
displayList {
date_stdWrap.strftime= %d %B %Y года, %A
time_stdWrap.strftime= %d.%m.%y %H:%M
}

Слово года выходит нормально: 28 March 2007 года, Wednesday

Никто не подскажет как это решается? Через хуки в tt_news?

Ссылка по теме:
http://lists.netfielders.de/pipermail/typo3-team-core/2007-January/007038.html

PhilD
29.03.2007, 11:44
у меня помогло убрать CP1251 - хотя вроде бы и неправильно
т.е. просто locale_all = ru_RU

GF
29.03.2007, 16:53
Я то-же использую UTF-8
В шаблоне прописано:
config {
language = ru
locale_all = ru_RU
}
Проблема в том, что в tt_news 2.5.0 в архивных новостях, да и вообще везде, заголовок по-русски а месяц по-ангийски.. некашерно как-то.. а вот где копать не знаю.. :(

PhilD
29.03.2007, 17:22
попробуйте наоборот явно указать кодировку. есть разница в php для разных OS.

Pavel Antonov
29.03.2007, 17:55
Попробуйте "ru_RU.utf8"

GF
29.03.2007, 18:51
Попробуйте "ru_RU.utf8"

Сеньк! работает.. :)
Но пишет "Марта" а не "Март" будем рыть.. :)

Дылгеров Ц.В.
30.03.2007, 04:55
Попробуйте "ru_RU.utf8"

получается я задал глупый вопрос :)

Pavel Antonov
30.03.2007, 14:59
Сеньк! работает.. :)
Но пишет "Марта" а не "Март" будем рыть.. :)

Попробуйте другие ключи strftime использовать... Насколько мне известно локализационный движок про наличие падежей в русском языке ничего не знает... потому перевод заточен под порядок: "28 МартА"

Tod
18.04.2007, 14:04
Попробовал указать locale_all = ru_RU.utf8 и увидел, что оно выводит 17 April 2007 года, Tuesday, 16:54 :(
Заработало только после установки locale_all = ru_RU.UTF-8 (так что CapsLock имеет значение.)

Pavel Antonov
18.04.2007, 14:21
Имеет значение как locale называется.
Чтобы узнать, что установлено:
ls /usr/lib/locale/