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

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

Ответ
 
Опции темы Опции просмотра
Старый 25.05.2007, 06:45   #31
Дылгеров Ц.В.
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
Дылгеров Ц.В. вне форума   Ответить с цитированием
Старый 25.05.2007, 12:08   #32
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
- беру дамп со старого сайта в win1251 c DROP-ами
- конвертирую в utf8 командой iconv
не в коем случае не советую пользоваться iconv
Я столкнулся с тем, что она режет символы типа многоточий (была конвертация сайта из ISO в utf-8)

для конвертации нужно пользоваться скриптом dumper http://sypex.net/
и выствалять его настройки в коде скрипта
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 01.08.2007, 06:35   #33
Дылгеров Ц.В.
Senior Member
 
Регистрация: 14.11.2005
Адрес: Улан-Удэ
Сообщений: 158
Отправить сообщение для Дылгеров Ц.В. с помощью ICQ
По умолчанию Спасибо за ссылку

Цитата:
Сообщение от Valery Romanchev Посмотреть сообщение
не в коем случае не советую пользоваться iconv
Я столкнулся с тем, что она режет символы типа многоточий (была конвертация сайта из ISO в utf-8)

для конвертации нужно пользоваться скриптом dumper http://sypex.net/
и выствалять его настройки в коде скрипта
работает хорошо - пригодилось

Единственное - неправильно переносил спецсимволы, а именно кавычки-скобочками, из koi8r в win1251
Дылгеров Ц.В. вне форума   Ответить с цитированием
Старый 01.08.2007, 12:50   #34
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Подозреваю что дело не в транскодоре, а в отсутствии символов в целевых кодировках.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 09.12.2007, 18:56   #35
Stark
Новенький
 
Регистрация: 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..
Stark вне форума   Ответить с цитированием
Старый 09.12.2007, 22:18   #36
Podlec
Senior Member
 
Аватар для Podlec
 
Регистрация: 07.12.2006
Адрес: Volgograd
Сообщений: 189
Отправить сообщение для Podlec с помощью ICQ
По умолчанию

Цитата:
Сообщение от Stark Посмотреть сообщение
Помогите с проблемой с 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..
[forceCharset] = utf-8
это надо сделать... потом.. сталкивался с такими проблемами... когда переносил базу, которая до этого была в утф8... решал так: перед тем как импортировать БД создаешь чистую базу данных в утф8... т.е. не потом назнаешь созданной БД кодировку.. а сразу.. чтобы она создавалась с дефолтовой Utf8.
Потом импорт БД делал непостредственно при устновке тайпы....
Всё работало...
__________________
... be happy...
Podlec вне форума   Ответить с цитированием
Старый 21.12.2007, 15:11   #37
pomotom
Senior Member
 
Регистрация: 09.12.2007
Сообщений: 281
Question проблемы 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`
спасибо JavaPro

Последний раз редактировалось pomotom; 21.12.2007 в 15:29
pomotom вне форума   Ответить с цитированием
Старый 21.12.2007, 17:08   #38
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от pomotom Посмотреть сообщение
при некоторых настройках 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`
спасибо JavaPro
Важно помнить что при создании нового проекта, "SET NAMES utf8" должна быть установлена до создания таблиц! Если пользуетесь 1-2-3 режимом инсталлятора, таблицы придется пересоздавать. Остальные установки "SET" обычно не требуются.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 21.12.2007, 20:54   #39
pomotom
Senior Member
 
Регистрация: 09.12.2007
Сообщений: 281
По умолчанию

Изначально таблицы создавались dumper-ом (force->utf8), но я не мог понять где проблемы. Потом с настройками выше заработало сначала с чистой установкой, а потом и с бекапной базой . Перекодированной из cp1251. Осталось TV поправить.
...
ну вот (смайлик - утирает пот) переход на utf-8 и ПХП5 занял всего сутки

Павел, можно немного внимания?
/я очень люблю знать и всегда интересуюсь как (с) Стругацкие /
Подробно про базу:
сначала просто восстановил инсталяцию (4.0), поставил форсеЧарсет и восстановил дампером базу. Как писал выше - везде где видно - утф_генерал_ци. С третьей или четвертой попытки добился того, что в пхпМайАдмин чистый УТФ без потерь контента. В бекенде - бред. (вопросики, то в черных ромбиках,то без). СЕТ НЕЙМС пробовал. Без эффекта.
Сделал чистый инстал (все таблицы при каждой попытке убивались, а не только чистились).
СЕТ НЕЙМС не ставил. Получил на таблицах коллейшн - 1251. Убил. Восстановил базу дампером. Все коллейшн правильные. Обнулил таблицы. Восстанновил чисто содержимое через инстал тул. Получил проблемы с "Ш". Поставил приведенный выше блок кода в ДБ Инит. Получил все старые данные - 1251 отображенные в юникоде. Зато при вводе новых все проблемы исчезли. Восстановил базу. Полет нормальный.
Где ошибся по дороге? Какие шаги лишние?

Последний раз редактировалось pomotom; 21.12.2007 в 22:07
pomotom вне форума   Ответить с цитированием
Старый 22.12.2007, 02:47   #40
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Если все работает - то лишнего ничего нет 8=)

Сказать в чем была проблема сложно.

С дампером у меня обычно все получается в два этапа - сдампить с force->utf8 и загрузить через mysql.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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