Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
25.05.2007, 06:45 | #31 | |
Senior Member
|
Цитата:
Оказывается можно получить видимость нормальной работы в 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 |
|
25.05.2007, 12:08 | #32 | |
Administrator
|
Цитата:
Я столкнулся с тем, что она режет символы типа многоточий (была конвертация сайта из ISO в utf-8) для конвертации нужно пользоваться скриптом dumper http://sypex.net/ и выствалять его настройки в коде скрипта |
|
01.08.2007, 06:35 | #33 | |
Senior Member
|
Спасибо за ссылку
Цитата:
Единственное - неправильно переносил спецсимволы, а именно кавычки-скобочками, из koi8r в win1251 |
|
01.08.2007, 12:50 | #34 |
Senior Member
|
Подозреваю что дело не в транскодоре, а в отсутствии символов в целевых кодировках.
|
09.12.2007, 18:56 | #35 |
Новенький
Регистрация: 07.08.2007
Сообщений: 2
|
Помогите с проблемой с utf-8, уже отчаялся...
сайт переезжал на другой хост, где стоит пшп5, apache2.0 myscl 4.1, версия typo3 - 4,04. исходная кодировка сp-1251 Перечитав ветки где упоминаетса даная проблема сделал следующее. Перед переносом базы поставил в mysql кодировку по умолчанию UTF-8. в типо 3 прописал SET NAMES utf8; SET character_set_connection = utf8; базу перекодировал, 3 упоминающимися способами (и пшп скриптом и экстеншеном...) вобщем результат все равно один, одни знаки вопроса!!! phpmyadmin показывает что вся база даных действительно в utf.. |
09.12.2007, 22:18 | #36 | |
Senior Member
|
Цитата:
это надо сделать... потом.. сталкивался с такими проблемами... когда переносил базу, которая до этого была в утф8... решал так: перед тем как импортировать БД создаешь чистую базу данных в утф8... т.е. не потом назнаешь созданной БД кодировку.. а сразу.. чтобы она создавалась с дефолтовой Utf8. Потом импорт БД делал непостредственно при устновке тайпы.... Всё работало...
__________________
... be happy... |
|
21.12.2007, 15:11 | #37 |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
проблемы c Ш
при некоторых настройках MySQL помогает похоже только вот такая конфигурация:
Код:
SET character_set_client = `utf8` SET character_set_results = `utf8` SET collation_connection = `utf8_general_ci` SET NAMES utf8 SET character_set_connection = `utf8` Последний раз редактировалось pomotom; 21.12.2007 в 15:29 |
21.12.2007, 17:08 | #38 |
Senior Member
|
Важно помнить что при создании нового проекта, "SET NAMES utf8" должна быть установлена до создания таблиц! Если пользуетесь 1-2-3 режимом инсталлятора, таблицы придется пересоздавать. Остальные установки "SET" обычно не требуются.
|
21.12.2007, 20:54 | #39 |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
Изначально таблицы создавались dumper-ом (force->utf8), но я не мог понять где проблемы. Потом с настройками выше заработало сначала с чистой установкой, а потом и с бекапной базой . Перекодированной из cp1251. Осталось TV поправить.
... ну вот (смайлик - утирает пот) переход на utf-8 и ПХП5 занял всего сутки Павел, можно немного внимания? /я очень люблю знать и всегда интересуюсь как (с) Стругацкие / Подробно про базу: сначала просто восстановил инсталяцию (4.0), поставил форсеЧарсет и восстановил дампером базу. Как писал выше - везде где видно - утф_генерал_ци. С третьей или четвертой попытки добился того, что в пхпМайАдмин чистый УТФ без потерь контента. В бекенде - бред. (вопросики, то в черных ромбиках,то без). СЕТ НЕЙМС пробовал. Без эффекта. Сделал чистый инстал (все таблицы при каждой попытке убивались, а не только чистились). СЕТ НЕЙМС не ставил. Получил на таблицах коллейшн - 1251. Убил. Восстановил базу дампером. Все коллейшн правильные. Обнулил таблицы. Восстанновил чисто содержимое через инстал тул. Получил проблемы с "Ш". Поставил приведенный выше блок кода в ДБ Инит. Получил все старые данные - 1251 отображенные в юникоде. Зато при вводе новых все проблемы исчезли. Восстановил базу. Полет нормальный. Где ошибся по дороге? Какие шаги лишние? Последний раз редактировалось pomotom; 21.12.2007 в 22:07 |
22.12.2007, 02:47 | #40 |
Senior Member
|
Если все работает - то лишнего ничего нет 8=)
Сказать в чем была проблема сложно. С дампером у меня обычно все получается в два этапа - сдампить с force->utf8 и загрузить через mysql. |