Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
25.05.2006, 14:50 | #1 |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
проблемы с русским текстом после переноса сайта
Использую кодировку UTF8. В [BE][forceCharset] стоит utf-8
Сам BE нормально показывает на русском. На локальном компьютере FE отображается нормально - на русском. Если смотреть в phpMyAdmin - в полях с русским - кракозяблы (с умляутами). Теперь переношу сайт на FreeBSD (данные переношу через дамп, созданный phpMyAdmin'ом). Получаю - BE на русском, FE - данные вопросительными знаками. Причем, то, что в самом шаблоне сделано в UTF-8 - нормально отображается. В BE также вопросительными знаками видны русские названия страниц. Очевидно, проблема в формате данных в БД. Кодировки у базы, таблиц и полей - одинаковые. Если смотреть на юниксовом сервере PhpMyAdmin, то внешне - те же самые кракозяблы, ничем не отличаются. Что делал. 1) Пробовал в localconf.php писать. $TYPO3_CONF_VARS['SYS']['setDBinit'] = "SET NAMES 'utf8'".chr(10)."SET CHARACTER SET 'utf8'"; (после этого вместо вопросительных знаков появляются те же символы, что и в phpMyAdmin с умляутами, но все равно не на русском) 2) в htaccess пробовал такие настройки; включал и выключал их - все одно. PHP_VALUE mbstring.detect_order UTF-8 PHP_VALUE mbstring.func_overload 2 #CharsetDisable Off CharsetSourceEnc UTF-8 Правда, сервер валится при CharsetDisable или CharsetTurnOff - с этим не удалось попробовать. Возможно, хостер не дружит с этим... Куда еще копать, ПОДСКАЖИТЕЕЕЕ!!! |
25.05.2006, 15:37 | #2 | |
Administrator
|
какие версии MySQL в обих случаях?
(надо 4.1 или выше) Цитата:
1) сначала в дампе исправить все latin1 -> utf8 2) потом поверх дампа залить t3d сделанный из сайта (более простой способ пока не нашел) |
|
25.05.2006, 15:42 | #3 |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Версия 4.1.14 for Win32
А вот что выдает на никсах: mysql Ver 14.12 Distrib 5.0.19, for portbld-freebsd5.4 (i386) using 4.3 Т.е., видимо, 5-я версия |
25.05.2006, 15:49 | #4 | |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Цитата:
|
|
25.05.2006, 17:03 | #5 | |
Administrator
|
Цитата:
только сначала ...general_ci и general_cs не забыть поменять. |
|
25.05.2006, 18:08 | #6 | |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Цитата:
Может опишете как вы переносите сайты? |
|
25.05.2006, 18:13 | #7 |
Продвинутый
|
Проблема повидимому в том как вы делаете дамп. Важно проконтролировать кодировку соединения с MySql на виндовом сервере.
|
25.05.2006, 18:22 | #8 | |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Цитата:
Формат результирующего файла получается UTF-8. Пробовал ставить при экспорте "MYSQL 40 compability" или "Использовать шестнадцатиричные (hexadecimal) бинарные" - не помогает. Вообще, пользовался phpMyAdmin для переноса тысячу и один раз, все было нормально на windows1251. А вот UTF8 меня прямо подкосило Не оставьте в беде |
|
26.05.2006, 11:40 | #9 |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
перенес таки
Похоже, проблема была с кодировками таблиц на удаленном сервере
Убил базу на хостере (юникс), заново создал ее. Перенес через T3D - все ок, даже в PhpAdmin на русском стало Но возникла ошибка - в FE если сбросить кэш, то все нормально отображается, а если выводятся кэшированные данные, то страница вообще не показывается и сильная ругань ) Обнаружил строку в localconf.php (которую раньше вставлял): $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'; Убрал ее. Тогда опять кодировка слетела. Пришлось еще раз через T3D перенести - теперь все ок. Правда, в PhpMyAdmin опять кракозяблы, но это уже как родное |