Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
22.05.2006, 15:08 | #1 |
Administrator
|
Правильная настройка базы MySQL 4.1 и TYPO3 4.0
За несколько часов поисков и экспериментов узнал много интересного на тему collation в MySQL
:-) http://drupal.htdogs.ru/node/111 http://bugs.typo3.org/view.php?id=1262 Рецепт того как добиться регистронезависимого поиска и сортировки с русскими буквами, когда в TYPO3 forcecharset utf-8 и MySQL 4.1 базу создаем в utf-8 ( collation utf8_general_ci при этом дефолтовая кодировка сервера может быть любая - у меня latin) Пишем в localconf.php $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'; Кстати, Битрикс не поддерживает utf-8 и это не планируется. |
27.05.2006, 23:35 | #2 |
Administrator
|
доп инф.
http://bugs.typo3.org/view.php?id=3547 последний вариант который я пробую $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'; см. http://dev.mysql.com/doc/refman/5.0/...onnection.html поставить $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET character_set_connection = utf8;'; недостаточно - в этом случае на update через раз слетает кодировка Последний раз редактировалось Valery Romanchev; 28.05.2006 в 19:25 |
29.05.2006, 12:39 | #3 |
Administrator
|
итак, стоит
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'; и пока полет нормальный |
08.06.2006, 04:27 | #4 |
Продвинутый
Регистрация: 10.12.2005
Адрес: Kyiv
Сообщений: 36
|
спасибо за информацию.
|
08.06.2006, 17:30 | #5 |
Senior Member
Регистрация: 21.04.2006
Сообщений: 245
|
Если кому-то поможет...
Чтобы корректно работал ORDER BY и поиск по LIKE в UTF-8 я сделал так: 1) удалил все таблицы в БД typo и создал их заново. Важно, чтобы таблицы создавались в DEFAULT CHARSET=utf8; PhpMyAdmin генерит скрипт на создание таблицы с latin1 вместо utf8, поэтому надо заменить. А если создавать базу через инсталлятор typo3, то умолчательный collation там стоит latin1_swedish_ci. Так что, похоже, без ручной модификации не обойтись. 2) поставил в localconf.php строку SET NAMES (см. выше) 3) со старого сайта сделал экспорт в .T3D и на новом сделал импорт из .T3D - все заработало Последний раз редактировалось demav; 09.06.2006 в 00:31 |
09.06.2006, 11:22 | #6 |
Senior Member
|
Возможно ли в одной БД (дереве) иметь два сайта - первый на windows-1251, второй на utf-8?
При том необходимо чтобы charset соблюдался и в BE - редактировать то сайт нужно в той же кодировке? То есть переключение BE charset-а должно происходить в зависимости от того в какой ветке? Последний раз редактировалось Дылгеров Ц.В.; 09.06.2006 в 11:28 |
09.06.2006, 15:21 | #7 | |
Продвинутый
|
Цитата:
|
|
09.06.2006, 17:38 | #8 | ||
Administrator
|
Цитата:
Как это делать описано в доке по локализации. Frontend Localization Guide (свежая дока кстати) http://typo3.org/documentation/docum...guide/current/ Цитата:
(в базу все будет идти в utf8, юзер у которого руссий язык - будет в BE работать в windows 1251 - с этим подробно разбирался Павел Антонов - он вроде даже патч делал на эту тему... чтобы все-таки все было в utf8) А для вывода в FE - для разных деревьев можно проставить разные кодировки - на лету идет конвертация Последний раз редактировалось Valery Romanchev; 09.06.2006 в 17:41 |
||
28.06.2006, 07:33 | #9 | |
Senior Member
|
Переношу БД в utf-8.
БД конвертируется хорошо. Так как default character set установлен в UTF-8, то при импорте дампа таблицы создаются с charset utf-8 и collation utf_general_ci. Сам дамп конвертирую такой программой Цитата:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -p -u root mynewdbinutf8 < olddump.sql.utf-8 Enter password: **************************************** ERROR 1406 (22001) at line 1: Data too long for column 'title' at row 1 вызвано это тем что при конвертации из windows-1251 в utf-8 title длиной 163 превратился в 307 - а это уже больше чем tinytext Что посоветуете? Или я что то неправильно делал? Может в команде mysql -p -u root mynewdbinutf8 < olddump.sql.utf-8 добавить default-charset=windows-1251 и не конвертировать дамп? Последний раз редактировалось Дылгеров Ц.В.; 05.09.2006 в 05:29 |
|
28.06.2006, 11:40 | #10 |
Administrator
|
я конвертировал из windows-1251 в uft8 с помощью экстеншена. Их там 2, использовал тот, который Андрей Шварцкопф делал.
|