Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
25.04.2008, 14:02 | #22 | |
Новенький
|
Похоже на то, что у вас данные в базе н в utf-8. Перепроверьте, и, если это так - переконвертируйте или перезалейте базу.
Цитата:
|
|
25.04.2008, 15:27 | #23 |
Senior Member
|
Спасибо ребята за отклик.
Давайте по порядку. Я с начало создал базу, поставил все в utf-8. Потом поставил систему (4.1.5), все настройки поставил в utf-8, сделал сайте. Поставил еще одну площадку для разработки, по той же схеме, что и выше, работало все нормально. Потом вышла новая версия системы, после чего я обновил две системы до версии 4.1.6. Работало все нормально. Поставил еще одну площадку для разработки (версия 4.1.6) по той же схеме что и предыдущие, работало все нормально. Потом не из того не из чего началось непонятная, неконтролируемая смена кодировки. То нормально работает, то ненормально, потом вообще все стало выводить в ненормально кодировке. На сервере стоить пять сайтов, и все они используют одну и туже базу все базы в utf-8 и сайты тоже. Создано пять баз данных все в utf-8 у двух первых пользователи разные, а вот у трех пользователь один и тот же. Три сайта работают нормально, а вот два не нормально. Перепроверил все настройщики пяти сайтов, ничего не изменилось все utf-8, но два сайта по-прежнему выводят данные в неправильно кодировке. Смотрел во внутрь базы все данные, закодированные в utf-8, то есть в базе они нечитаемые (кракозябры). Что делать, ума не приложу? |
25.04.2008, 16:33 | #24 |
Новенький
|
Последуйте совету void'а. Я думаю, он прав.
|
25.04.2008, 18:09 | #25 |
Senior Member
|
Хорошо, а как перекодировать базу в utf-8?
Кое-что прочитал здесь, но здесь говориться только об одной таблице, а нельзя ли такое же сделать для всей базы? И как узнать в какой кодировке закодированные данные? Для теста в одной записи контента в заголовке радом с Ð�а віÑ�Ñ‚Ñ€Ñ написал слово «Перевiрка» и сохранил. Иду в базу и смотрю в базе сохранено «Перевiрка - Ð�а віÑ�трѻ… слово «Перевірка» читаемое , а Ð�а віÑ�Ñ‚Ñ€Ñ – не читаемое. Захожу в базу, пишу запрос Код:
ALTER TABLE tt_content CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; Но все же вопрос, почему это случилось, ведь база и система настроена в utf-8 за исключением того, что в [setDBinit] не был правильно написан запрос вместо этого Код:
SET NAMES utf8; SET CHARACTER SET utf8; SET SESSION character_set_server = utf8; SET character_set_connection = utf8; Код:
SET NAMES utf8 SET CHARACTER SET utf8 SET SESSION character_set_server = utf8 SET character_set_connection = utf8; Теперь непонятно, что делается база в utf-8 настройки системы в utf-8, а вот данные в базе неизвестно в какой кодировке? Прошу у общества помощи в решении проблемы. Последний раз редактировалось thebat; 25.04.2008 в 19:06 |
25.04.2008, 19:02 | #26 | ||
Новенький
|
Наиболее простой вариант - слить дамп и переконвертировать его в каком-нибудь редакторе и снова залить. Но так как у вас большая база, то часть уже может быть в utf-8, а часть в какой-нибудь друной... Тут нужно аккуратно все проверять.
Цитата:
Посмотрите какая кодировка стоит по умолчанию в вашем клиете (phpMyAdmin, MySQL Query Browser, mysql etc.) В этой кодировке вы увидите корректно отображаемые данные. Смените кодировку клиента на utf-8 и увидите какие записи отображаютс как кракозябры - вот это и есть неверная кодировка... Одним словом нужно экспериментировать. Желаю удачи! Цитата:
|
||
25.04.2008, 19:09 | #27 |
Новенький
|
|
25.04.2008, 19:14 | #28 | |
Senior Member
|
Цитата:
Сопоставление соединения с MySQL: utf8_general_ci Насколько я понимаю данные в базе данных закодированные в UTF-8 И что-то натолкнуло меня на мысль, что, что-то эти данные берет из базы и еще раз конвертирует их…, такое может быть? Последний раз редактировалось thebat; 25.04.2008 в 19:31 |
|
25.04.2008, 22:06 | #30 |
Senior Member
|
Ребята теперь я понял, что поздно махать руками, надо думать, как это все дело перевести в нормальный читабельный вид.
У меня подозрение, что utf перекодировалось еще раз в utf, то есть произошло двойное кодирование в utf. Может такое быть? Стоят две задачи: 1. Узнать в какой кодировке, все это дело закодировано или перекодировалось? 2. Чем декодировать всю базу в utf? Возможно, нужно сделать двоичное декодирование… Может, кто подскажет, php скрипт, программку или метод как это сделать…? |