Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > FAQ (Часто задаваемые вопросы)

 
 
Опции темы Опции просмотра
Старый 25.05.2007, 06:45   #17
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию

Цитата:
Сообщение от Podlec Посмотреть сообщение
Простите запутал вас.
как раз вот это я и поставил
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8; SET character_set_connection = utf8;';
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';

А установка знчения utf-8 только для переменной forceCharset не спасал положения
Вчера экспериментировал с переносом, восстанавливал то что узнал во время поисков полгода назад. И вот что понял:

Оказывается можно получить видимость нормальной работы в Typo3, а БД будет в два раза больше, то есть в БД будут храниться utf8 байты, закодированные еще раз в utf8 побайтно.

Чтобы проверить правильность и избежать этого, надо посмотреть в phpmyadmin русские буквы - в utf8 должны отображаться правильно. Естественно надо настроить phpmyadmin на просмотр utf8.

Неправильная настройка Typo3 может получиться следующим образом (объясняю как у меня получилось):
- беру дамп со старого сайта в win1251 c DROP-ами
- конвертирую в utf8 командой iconv
- настраиваю сервер в my.cnf на utf8
[mysqld]
default_character_set=utf8
- импортирую дамп
mysql -p -u root
>set names utf8;
>source mydump
в результате я получаю BD двойного размера
В http://forum.typo3.biz/showpost.php?p=6276&postcount=12 я это описал, при просмотре в phpmyadmin неправильные символы счел за верное так как mysql был 3.23, и поэтому ошибочно решил что все правильно

- после того как я получил БД двойного размера со спокойной душой ставлю:
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8; SET CHARACTER SET utf8; SET SESSION character_set_server=utf8;';
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';
и все работает отлично! Однако это неверно! Нужно только SET NAMES utf8

---------------------------------------------------------------

поэтому считаю верным следующее

- беру дамп со старого сайта в win1251 c DROP-ами
- конвертирую в utf8 командой iconv
- настраиваю сервер в my.cnf на utf8
[mysqld]
default_character_set=utf8
- импортирую дамп
mysql -p -u root
не использую -----> это неверно: >set names utf8;
>source mydump
в результате я получаю BD нормальную при просмотре в phpmyadmin

в localconf.php:
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';
здесь не нужно SET CHARACTER SET utf8; SET SESSION character_set_server=utf8;

To Podlec - на всяк случай проверь в phpmyadmin русские буквы нормально выглядят? Хотя с вариантом SET NAMES utf8; SET character_set_connection = utf8; не эксперимнтировал.

Последний раз редактировалось Дылгеров Ц.В.; 25.05.2007 в 07:08
Дылгеров Ц.В. вне форума   Ответить с цитированием
 


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

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 06:33.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория