Вход

Просмотр полной версии : при сохранении настроек template setup русские буквы теряются


Ice
10.01.2007, 15:48
версия 4.0.4
База в UTF-8
[BE].forceCharset = utf-8

интерфейс на русском
все поля сохраняются на русском нормально (обрезаются, конечно)

хотел добавить ссылку "Вернуться в раздел ...", в первый раз сохранилось нормально, потом при редактировании и сохранении setup шаблона иногда русские надписи стали конвертироваться похоже ещё раз в utf-8

каждый раз при правке шаблона не хочется все русские слова снова вводить

кто-нибудь встречался с подобным?

Valery Romanchev
10.01.2007, 19:56
все поля сохраняются на русском нормально (обрезаются, конечно)ничего не должно обрезаться


хотел добавить ссылку "Вернуться в раздел ...", в первый раз сохранилось нормально, потом при редактировании и сохранении setup шаблона иногда русские надписи стали конвертироваться похоже ещё раз в utf-8да, сталкивался

(это есть в FAQ)
http://forum.typo3.biz/showthread.php?t=1438

Ice
11.01.2007, 08:38
ничего не должно обрезаться

Каждый русский символ представляется в виде двух ASCII-кодов. Видимо, php (у меня 5.0.4) понимает, что это 1 буква вместо двух символов и берёт подстроку из передаваемой строки, равную количеству букв, а не количеству символов.

Если я изменю значение в БД сам, то строка отображается нормально.

Прочитал док локализации, увеличил все текстовые поля в два раза (multiplyDBfieldSize=2), но обновление БД не прошло успешно в одной таблице, так как максимальный размер индекса = 1000 вроде, читал про эту багу на сайте типо, вернул к multiplyDBfieldSize=1

Видимо, это никак не связано, но строки продолжают обрезаться

да, сталкивался

(это есть в FAQ)
http://forum.typo3.biz/showthread.php?t=1438

Этот фак я читал.
У меня MySQL 4.1.7, кодировка по умолчанию utf-8:
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';

Сейчас я делаю так: если в template setup есть русские буквы, я на всякий случай всё копирую в буфер, нажимаю кнопку Обновить. Если русские симвобы превращаются в кракозябры, я вставляю текст из буфера, нажимаю кнопку Обновить ещё раз, всё сохраняется нормально.

void
11.01.2007, 12:38
Есть еще один выход - хранить TS в файлах.

Tod
11.01.2007, 14:01
Второй раз читаю эту фразу про TS в файлах.
Как это правильно реализовывается?

Дмитрий Самойлов
11.01.2007, 14:17
Второй раз читаю эту фразу про TS в файлах.
Как это правильно реализовывается?

Создается обычный typoscript шаблон и в поле setup пишется следующее:
<INCLUDE_TYPOSCRIPT:source="FILE: fileadmin/typoscripts/samplescript.ts">

Ice
12.01.2007, 10:58
Создается обычный typoscript шаблон и в поле setup пишется следующее:
<INCLUDE_TYPOSCRIPT:source="FILE: fileadmin/typoscripts/samplescript.ts">

Большое спасибо. Работает, правда, оказалось, что первая строчка из файла почему-то не выполнялась, добавил пустую строку сверху и всё заработало.

Как-то по особому читает utf-8 файлы, что не видит первые служебные символы, означающие, что это файл utf-8? Zend Studio правда тоже эти символы не нравятся и их приходится удалять...

Ice
12.01.2007, 13:28
Создается обычный typoscript шаблон и в поле setup пишется следующее:
<INCLUDE_TYPOSCRIPT:source="FILE: fileadmin/typoscripts/samplescript.ts">

А нельзя эту команду делать вложенной? Т.е. к примеру в файле samplescript.ts прописать команды, в том числе команду
<INCLUDE_TYPOSCRIPT:source="FILE: fileadmin/typoscripts/sample2.ts">
в нужном месте?

Valery Romanchev
12.01.2007, 15:44
проверьте, что у вас тот же MySQL юзер не коннектится к другой базе с другой кодировкой. Это может быть источником глюков

Valery Romanchev
12.01.2007, 15:46
Большое спасибо. Работает, правда, оказалось, что первая строчка из файла почему-то не выполнялась, добавил пустую строку сверху и всё заработало.

Как-то по особому читает utf-8 файлы, что не видит первые служебные символы, означающие, что это файл utf-8? Zend Studio правда тоже эти символы не нравятся и их приходится удалять...
http://typo3.area42.de/ этот редактор нормально работает с utf-8
дремвьювер тоже