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

Вернуться   Russian TYPO3 community > Тематические форумы > Локализация проекта

Ответ
 
Опции темы Опции просмотра
Старый 25.04.2008, 19:02   #1
roman
Новенький
 
Аватар для roman
 
Регистрация: 18.08.2006
Адрес: L'viv, Ukraine
Сообщений: 17
Отправить сообщение для roman с помощью ICQ Отправить сообщение для roman с помощью Yahoo
По умолчанию

Цитата:
Сообщение от thebat Посмотреть сообщение
Хорошо, а как перекодировать базу в utf-8?
Наиболее простой вариант - слить дамп и переконвертировать его в каком-нибудь редакторе и снова залить. Но так как у вас большая база, то часть уже может быть в utf-8, а часть в какой-нибудь друной... Тут нужно аккуратно все проверять.

Цитата:
Сообщение от thebat Посмотреть сообщение
Кое-что прочитал здесь, но здесь говориться только об одной таблице, а нельзя ли такое же сделать для всей базы?
Нет, нельзя. Там же и написано.

Цитата:
Сообщение от thebat Посмотреть сообщение
И как узнать в какой кодировке закодированные данные?
Посмотрите какая кодировка стоит по умолчанию в вашем клиете (phpMyAdmin, MySQL Query Browser, mysql etc.) В этой кодировке вы увидите корректно отображаемые данные. Смените кодировку клиента на utf-8 и увидите какие записи отображаютс как кракозябры - вот это и есть неверная кодировка... Одним словом нужно экспериментировать. Желаю удачи!

Цитата:
Сообщение от thebat Посмотреть сообщение
Для теста в одной записи контента в заголовке радом с Ð�а віÑ�Ñ‚Ñ€Ñ написал слово «Перевiрка» и сохранил. Иду в базу и смотрю в базе сохранено «Перевiрка - Ð�а віÑ�трѻ… слово «Перевірка» читаемое , а Ð�а віÑ�Ñ‚Ñ€Ñ – не читаемое. Захожу в базу, пишу запрос
Код:
ALTER TABLE tt_content CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
В результате ничего, все как было, так и осталось без изменений.
roman вне форума   Ответить с цитированием
Старый 25.04.2008, 19:09   #2
roman
Новенький
 
Аватар для roman
 
Регистрация: 18.08.2006
Адрес: L'viv, Ukraine
Сообщений: 17
Отправить сообщение для roman с помощью ICQ Отправить сообщение для roman с помощью Yahoo
По умолчанию

http://forum.typo3.biz/showpost.php?...2&postcount=32
roman вне форума   Ответить с цитированием
Старый 25.04.2008, 19:14   #3
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Question

Цитата:
Сообщение от roman Посмотреть сообщение
Посмотрите какая кодировка стоит по умолчанию в вашем клиете (phpMyAdmin, MySQL Query Browser, mysql etc.) В этой кодировке вы увидите корректно отображаемые данные. Смените кодировку клиента на utf-8 и увидите какие записи отображаютс как кракозябры - вот это и есть неверная кодировка... Одним словом нужно экспериментировать. Желаю удачи!
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8_general_ci

Насколько я понимаю данные в базе данных закодированные в UTF-8

И что-то натолкнуло меня на мысль, что, что-то эти данные берет из базы и еще раз конвертирует их…, такое может быть?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA

Последний раз редактировалось thebat; 25.04.2008 в 19:31
thebat вне форума   Ответить с цитированием
Старый 25.04.2008, 19:29   #4
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Очень, очень советую слить базу на локальный mysql и экспериментировать с перекодировкой именно там. Да, к сожалению, если с самого начала не указать SET NAMES utf8; в setDBinit, то в базе будут кракозябры.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 25.04.2008, 22:06   #5
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Question

Ребята теперь я понял, что поздно махать руками, надо думать, как это все дело перевести в нормальный читабельный вид.

У меня подозрение, что utf перекодировалось еще раз в utf, то есть произошло двойное кодирование в utf. Может такое быть?

Стоят две задачи:

1. Узнать в какой кодировке, все это дело закодировано или перекодировалось?
2. Чем декодировать всю базу в utf?

Возможно, нужно сделать двоичное декодирование…

Может, кто подскажет, php скрипт, программку или метод как это сделать…?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 26.04.2008, 17:02   #6
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Lightbulb

Цитата:
Сообщение от thebat Посмотреть сообщение
Стоят две задачи:
1. Узнать в какой кодировке, все это дело закодировано или перекодировалось?
И так одна проблема решена. Теперь я точно знаю, что все данные закодированы в UTF-8 только, насколько я понял это сделано два раза, как я это проверил? Это я проверял вот здесь...

Теперь осталось решить самую главную задачу, как всю базу перевести в читаемый вид?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 26.04.2008, 19:23   #7
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Готового решения лично у меня нет...
Можно попробовать написать самостоятельно скрипт, используя SQL-запросы типа SHOW TABLES и iconv.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 19.05.2008, 12:35   #8
boulder
Новенький
 
Регистрация: 28.06.2006
Сообщений: 17
По умолчанию

Есть программа "Navicat for MySQL". Так вот, она позволяет базе, которая уже имеет кодировку utf, установить ещё раз принудительно utf-8. После этого все данные (перекодированные дважды) видны замечательно.

Косяк тут будет с экспортом. Например, в дамп SQL. Потому что экспортировать SQL-данные, которые бы принял phpMyAdmin, лучше всего может, естественно, phpMyAdmin. А Navicat выдаёт файл, в котором, например, не "1, NULL, NULL, 2", а просто "1, , , 2". У меня в phpMyAdmin "проскочила" только таблица tt_produсts (при ручном исправлении вышеописанных запятых на NULL).

Поэтому приходится вначале экспортировать всё Navicat'ом из испорченной базы, потом поменять кодировку подключения и подключиться к правильной базе. И импортировать эти же файлы именно Navicat'ом в правильную utf-8 базу.

Ни один промежуточный формат экспорта-импорта не дал 100%. Но лучше всего оказался экспорт-импорт через MsAccess'овский mdb-файл.
boulder вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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


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


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

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