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

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

Ответ
 
Опции темы Опции просмотра
Старый 12.01.2008, 15:42   #1
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию Как конвертировать кодировку таблицы MySQL

Можно обойтись без услуг "dumper".

Быстро конвертировать кодировку можно SQL запросом:
Код:
ALTER TABLE tt_content CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 12.01.2008, 18:49   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Кстати, обидно, что результат SHOW TABLES нельзя использовать для конвертирования всех таблиц...
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 21.07.2008, 00:53   #3
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

напишу здесь, как конвертировать с dumper
Исходная ситуация - все таблицы с дефолтовым коллашном (который соответствует latin1).
Так бывает, когда не выставили в начале кодировку utf

Ситуации бывают и другие - так что за могут потребовать эксперименты.


Что делаем
0) делаем бэкап
1) ставим экст sfdbutf8 и меняем коллашн у всех таблиц и полей на utf8_general_ci
2) скачиваем dumper http://sypex.net/products/dumper/downloads/
и используем настройки


PHP код:
// Кодировка соединения с MySQL
// auto - автоматический выбор (устанавливается кодировка таблицы), cp1251 - windows-1251, и т.п.

//define('CHARSET', 'auto');
define('CHARSET''latin1');


// Кодировка соединения с MySQL при восстановлении
// На случай переноса со старых версий MySQL (до 4.1), у которых не указана кодировка таблиц в дампе
// При добавлении 'forced->', к примеру 'forced->cp1251', кодировка таблиц при восстановлении будет принудительно заменена на cp1251
// Можно также указывать сравнение нужное к примеру 'cp1251_ukrainian_ci' или 'forced->cp1251_ukrainian_ci'
//define('RESTORE_CHARSET', 'cp1251');
define('RESTORE_CHARSET''utf8'); 
и дампим, а потом закачивае базу
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 10.11.2009, 04:41   #4
I am Phantom
Новенький
 
Аватар для I am Phantom
 
Регистрация: 10.11.2009
Сообщений: 2
По умолчанию

Valery Romanchev, как-то у Вас сложно все! Вы же сами упомянули прекрасный инструмент дампер! Тут же коммент говорящий
Цитата:
// При добавлении 'forced->', к примеру 'forced->cp1251', кодировка таблиц при восстановлении будет принудительно заменена на cp1251
1. Бякап дампером (строка define('CHARSET', 'auto'); справляется прекрасно)
2. пишем строку define('RESTORE_CHARSET', 'forced->utf8');
3. прямо в этом же окне, где выполняли только что бякап, разворачиваем базу обратно

Вуаля! Улыбаемся и машем!
__________________
www.TRANCEWORLD.ru -- Все о музыке в стиле TRANCE!
I am Phantom вне форума   Ответить с цитированием
Старый 29.12.2009, 04:30   #5
ukrsonic
Новенький
 
Регистрация: 29.12.2009
Сообщений: 1
По умолчанию

Для особо ленивых кто любит phpMyAdmin

1. отмечаем все таблицы в вашей базе, выбираем действие "Анализ таблицы"
2. Из окошка SQL запросов, копируем список имен всех таблиц, каждое имя таблицы будет отделено так ( `имя_таблицы`, )
3. кидаем список в редактор и задаем поиск с заменой
вначале меняем ( `, ) на ( CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; )
затем заменяем просто ( ` ) на ( ALTER TABLE )
4. получаем вот такой готовый списочек SQL запросов
PHP код:
ALTER TABLE be_groups CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE be_sessions CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE be_users CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_extensions CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_hash CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_imagesizes CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_md5params CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_pages CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_pagesection CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_treelist CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cache_typo3temp_log CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_hash CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_hash_tags CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_pages CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_pagesection CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_pagesection_tags CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE cachingframework_cache_pages_tags CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE fe_groups CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE fe_sessions CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE fe_session_data CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE fe_users CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE pages CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE pages_language_overlay CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE static_template CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE static_tsconfig_help CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_be_shortcuts CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_domain CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_filemounts CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_history CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_language CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_lockedrecords CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_log CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_note CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_preview CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_refindex CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_refindex_rel CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_refindex_res CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_refindex_words CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_registry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_template CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE sys_workspace CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tt_content CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tx_impexp_presets CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tx_rtehtmlarea_acronym CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
5. бросаем список в окно SQL запроса

УсЁ!
ukrsonic вне форума   Ответить с цитированием
Старый 31.12.2009, 22:27   #6
Manas
Senior Member
 
Аватар для Manas
 
Регистрация: 06.12.2006
Адрес: Санкт-Петербург
Сообщений: 239
Отправить сообщение для Manas с помощью ICQ Отправить сообщение для Manas с помощью Skype™
По умолчанию

Есть еще экст. sfdbutf8 http://typo3.org/extensions/reposito...butf8/current/ быстро и удобно.
__________________
Дмитрий Васильев, "T3 студия"
По всем вопросам связанным с TYPO3, пишите пожалуйста сюда https://vk.com/t3studio
www.typo3.ru.net
Manas вне форума   Ответить с цитированием
Старый 23.03.2010, 19:28   #7
андрюха
Новенький
 
Регистрация: 23.03.2010
Сообщений: 4
Smile

Цитата:
Сообщение от ukrsonic Посмотреть сообщение
5. бросаем список в окно SQL запроса

УсЁ!
Гениально! Спасибо!
андрюха вне форума   Ответить с цитированием
Старый 23.03.2010, 19:38   #8
андрюха
Новенький
 
Регистрация: 23.03.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Manas Посмотреть сообщение
Есть еще экст. sfdbutf8 http://typo3.org/extensions/reposito...butf8/current/ быстро и удобно.
тоже хорошо! только теперь запутался по поводу разницы между utf8_general_ci и utf8_unicode_ci
андрюха вне форума   Ответить с цитированием
Старый 24.03.2010, 01:03   #9
Manas
Senior Member
 
Аватар для Manas
 
Регистрация: 06.12.2006
Адрес: Санкт-Петербург
Сообщений: 239
Отправить сообщение для Manas с помощью ICQ Отправить сообщение для Manas с помощью Skype™
По умолчанию

utf8_unicode_ci поддерживает более широкое пространство символов, т.е. если вы используете немецкие умуляты или китайский язык - нужно использовать utf8_unicode_ci. Если только рус./англ. языки - достаточно utf8_general_ci т.к. работает быстрее.
__________________
Дмитрий Васильев, "T3 студия"
По всем вопросам связанным с TYPO3, пишите пожалуйста сюда https://vk.com/t3studio
www.typo3.ru.net
Manas вне форума   Ответить с цитированием
Старый 24.03.2010, 12:12   #10
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
Сообщение от Manas Посмотреть сообщение
utf8_unicode_ci поддерживает более широкое пространство символов, т.е. если вы используете немецкие умуляты или китайский язык - нужно использовать utf8_unicode_ci. Если только рус./англ. языки - достаточно utf8_general_ci т.к. работает быстрее.
не совсем так, все символы поддерживаются и там и там, разница в работе сравнения:

Цитата:
The most significant feature in utf8_unicode_ci is that it supports expansions; that is, when one character compares as equal to combinations of other characters. For example, in German and some other languages ‘ß’ is equal to ‘ss’.
utf8_general_ci is a legacy collation that does not support expansions. It can make only one-to-one comparisons between characters. This means that comparisons for the utf8_general_ci collation are faster, but slightly less correct, than comparisons for utf8_unicode_ci.
так что если expansions не интересуют - то utf8_general_ci
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySql 6 как работает с Typo3? margol Установка 0 08.10.2007 13:01
как автоматически запускать Apache и MySQL student-uni Установка 1 05.01.2007 15:35
Пункты меню как записи из таблицы Pilot Общие вопросы 6 01.02.2005 02:29
Как поставмть кодировку windows-1251 или utf-8 andrew Локализация проекта 1 07.01.2005 18:08
Вопрос от чайника: как форматировать таблицы? navigator Общие вопросы 1 02.06.2004 17:29


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


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

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