Студия креативных разработок DevArt.PRO.
Разработка сайтов и форумов под ключ!
Сильнейшая команда в России по vBulletin - читать подробнее...
 
 
 
 

 
 
Здесь скоро опять что то будет...
 
 
 
 
 
 
Loading

Вернуться   форум vBSupport.org > vBulletin > vBulletin 4.x.x > Вопросы по vBulletin 4.x.x

Объявления
  • Изменения в правах
  • Каталог Фрилансеров
  • Добро пожаловать!
  • Premoderation
  • Новичкам!
  • For English speaking users
Ответ
 
Опции темы Опции просмотра
Старый 07.02.2010, 12:51   #1
Продвинутый
Проблема с кодировкой, пробовал все

Первый раз в жизни кидаю форум на хостинг, поэтому прошу сильно не пинать.
Взял на месяц потестировать на gohost.ru (руководствовался только низкой ценой).
Характеристики сервера:
MySQL - 5.0.32-Debian_7etch11-log
Protocol version: 10
Сервер: Localhost via UNIX socket
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL:
utf8_general_ci

character set client utf8
(Глобальное значение) cp1251
character set connection utf8
(Глобальное значение) cp1251
character set database cp1251
character set filesystem binary
character set results utf8
(Глобальное значение) cp1251
character set server cp1251
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_general_ci
(Глобальное значение) cp1251_general_ci
collation database cp1251_general_ci
collation server cp1251_general_ci

русифицировал форум с помощью utf8 руссификатора, при этом пришлось файл xml сохранять в utf кодировке иначе не работал, cp1251 так же выдавал вопросы. С этим все ок.

Базу mysql делал в денвере, при переносе соответственно получаю одни вопросы, пробовал в ручную редактировать дамп (исправлять кодировки на utf8), сохранять его в utf8 кодировке, использовал Sypex Dumper Lite 1.0.8, пробовал в config.php включать mysqli, переносил и в cp1251 и с помощью Sypex Dumper Lite 1.0.8 делал cp1251->cp1251 во всех случаях или каракули или вопросы, в браузере кодировки менял все кроме китайского наверное.

В лучшем случае при принудительной кодировке Sypex Dumper Lite 1.0.8 cp1251->utf8 новые сообщения кириллицей в форуме работают, но старые так же вопросами и при этом в phpadmin старые сообщения (которые на форуме вопросами) читабельны, а вот новые (которые на форуме читаются) становятся каракулями.

Два дня воюю, перечитал и перепробовал уже все что попадается в поисковиках, решил обратиться в последнюю инстанцию.

Не пробовал только править шаблоны для принудительной установки кодировки при соединении, так как думаю это не исправлении причины, а только исправление следствия, а это худший вариант, который может комом набраться в будущем.

Outsourc добавил 07.02.2010 в 12:51
кстати смущают вот эти записи:
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL:
utf8_general_ci

а переменные

character set database cp1251
collation database cp1251_general_ci

и при этом база и в cp1251 выдает одни вопросы

Последний раз редактировалось Outsourc; 07.02.2010 в 12:51.. Причина: Добавлено сообщение
  Ответить с цитированием
Рекламка
Реклама на форуме

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Тонкие настройки прав доступа
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Старый 07.02.2010, 12:56   #2
LuckyNeo
Продвинутый
 
Аватар для LuckyNeo
Talking

Кодировки:
Онлайн перекодировка из cp1251 в utf8 и обратно:
http://www.vbsupport.org/cp1251utf.php
Пояснение про кодировки:
http://www.shtogrin.com/library/web/charsets/utf8/

http://vbsupport.org/forum/showthrea...ht=utf8+cp1251
http://vbsupport.org/forum/showthrea...ht=utf8+cp1251
http://vbsupport.org/forum/showthrea...ht=utf8+cp1251

По поводу проблем с ??????....
Если вы пользуетесь хостингом, а не своим сервером, то спросите у хостера какая кодировка установлена у хостера по умолчанию для MySQL.
В идеале должна быть UTF-8. Но может быть быть и другая, например, кои или западноевропейская. Тогда будут проблемы.
Перед началом установки vBulletin сначала создаете базу данных, и в phpMyAdmin, потом, до установки скрипта, ставите сравнение для той кодировки,
в которой будете устанавливать (вкладка "Операции"). Если ставите в windows-1251, то сравнение должно быть выставлено как cp1251_general_ci,
если ставите в utf-8, то сравнение должно быть utf8_general_ci. И потом только устанавливайте.
Если этого не сделать, то получите базу данных в latin или еще в какой кодировке. Тогда точно будут ?????.
Могут быть, конечно, еще какие-нибудь проблемы с MySQL у хостера, но, как правило, то, что я описал, встречается в большинстве случаев.
  Ответить с цитированием
Старый 07.02.2010, 12:59   #3
GraveStone
Простоузер
Полгода назад тоже мучился с переходом на утф-8, помог хак vcharset + дампер с принудительной сменой кодировки.

Пока строчил сообщение, уже вперед меня про vcharset рассказали...
  Ответить с цитированием
Старый 08.02.2010, 13:57   #4
Outsourc
Продвинутый
Цитата:
Сообщение от LuckyNeo Посмотреть сообщение
Кодировки:
Онлайн перекодировка из cp1251 в utf8 и обратно:
http://www.vbsupport.org/cp1251utf.php
- пробовал та же проблема
Цитата:
Пояснение про кодировки:
http://www.shtogrin.com/library/web/charsets/utf8/
- читал

- ветка про 4 версию

- спасибо

- как и говорил следствие лечить неправильно

Цитата:
По поводу проблем с ??????....
Если вы пользуетесь хостингом, а не своим сервером, то спросите у хостера какая кодировка установлена у хостера по умолчанию для MySQL.
В идеале должна быть UTF-8. Но может быть быть и другая, например, кои или западноевропейская. Тогда будут проблемы.
Перед началом установки vBulletin сначала создаете базу данных, и в phpMyAdmin, потом, до установки скрипта, ставите сравнение для той кодировки,
в которой будете устанавливать (вкладка "Операции"). Если ставите в windows-1251, то сравнение должно быть выставлено как cp1251_general_ci,
если ставите в utf-8, то сравнение должно быть utf8_general_ci. И потом только устанавливайте.
Если этого не сделать, то получите базу данных в latin или еще в какой кодировке. Тогда точно будут ?????.
Могут быть, конечно, еще какие-нибудь проблемы с MySQL у хостера, но, как правило, то, что я описал, встречается в большинстве случаев.
Спасибо, мне остается только у хостера спросить что они используют, кстати а в phpadmin это разве не написано?

Outsourc добавил 07.02.2010 в 16:24
в faq нашел что база по умолчанию utf8, я уже даже сначала с локального хоста Sypex Dumper базу сдампил и восстановил на хостинге в utf8 не помогло. Пришлось повозится с папкой backup на хостинге что-бы доступ получить.

Outsourc добавил 07.02.2010 в 17:49
Обнаружил сейчас что даже после установки с 0 форума, в базе в разделах текст имеет следующий вид ?“?»?°?????°?? ???°?‚?µ??????????, хотя на форуме все ок. Получается что phpadmin пытается кодировку utf8 представить в виде cp1251, хотя сделал дамп этой таблицы и не смог ни в одной кодировке прочитать эту запись.

Outsourc добавил 08.02.2010 в 13:57
Проблема решена, выкладываю полную последовательность действий, надеюсь поможет кому-нибудь:

1. С локальной базы в cp1251 с помощью SypexDumper_205 делаем дамп, при этом в настройках ставим кодировку utf8 и галочку "коррекция кодировки".

2. Ставим SypexDumper_205 на хостинг, в папку backup копируем созданный дамп с локального хоста.

3. Восстанавливаем в базу созданную после установки форума, кодировка - автомат, галочку на корректировка кодировки не ставим.

4. в файл (на хостинге) includes/init.php вносим изменени:
а) находим строку: // make $db a member of $vbulletin
б) вставляем перед ней:
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

5. Теперь мы не можем зайти в форум, после ввода пароля снова окно входа в админ панель, для исправления из установочного пакета копируем файл do_not_upload/tools.php в папку install расположенную на хостинге в папке нашего форума.

6. Запускаем его: http://нашсайт/forum/install/tools.php

7. В появившемся окне по очереди щелкаем по ссылкам: [Usergroup / Forum Cache], [Options Cache], [Reset Cookie Domain], [Reset Cookie Path]

8. Снова пытаемся зайти в админ панель форума, если заходим значит почти все ок, если стоял русский языковой пакет то нужно его удалить и загрузить снова

8. в админке переходим: обслуживание-Восстановить/оптимизировать таблицы. В ней выбираем все таблицы и кликаем по восстановить.

9. в админке переходим обслуживание-обновление счетчиков восстанавливаем первые 3 счетчика: статусы пользователей, информация о темах, о разделах. Мне хватило их, может потребоваться и другие пункты испоьзовать.

10 В ИТОГЕ: на форуме пропали все вопросы, вся кириллица стала читабельная. Создание новых разделов тем постов происходит без проблем. При заходе в phpadmin текст также отображается в читабельном виде, и новые записи также читаются (а не так как было раньше, что старые читаются а новые в виде каракуль).

Последний раз редактировалось Outsourc; 08.02.2010 в 13:57.. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 09.02.2010, 16:16   #5
RedMage
Простоузер
у меня tools.php не открывается в чем может быть проблема?
все сделал по пункто нефига не помогло
Таблицы в UTF8
База UTF8_unicode_ci
Коннект к базе UTF8_general_ci
в конфиге прописал для utf8


дошел до
Цитата:
8. Снова пытаемся зайти в админ панель форума, если заходим значит почти все ок, если стоял русский языковой пакет то нужно его удалить и загрузить снова
незаходит в админку

Последний раз редактировалось RedMage; 09.02.2010 в 17:09..
  Ответить с цитированием
Старый 09.02.2010, 19:09   #6
Outsourc
Продвинутый
а tools.php в каком смысле не открывается: страница пустая или пишет ошибку?
  Ответить с цитированием
Старый 09.02.2010, 19:11   #7
RedMage
Простоузер
напиши в ICQ: 7307704
стоит антиспам
  Ответить с цитированием
Старый 09.02.2010, 19:13   #8
Outsourc
Продвинутый
кстати без tools.php и не получиться
  Ответить с цитированием
Старый 09.02.2010, 23:57   #9
RedMage
Простоузер
Неставьте 4.0.1 кодировку не поменяете, поставил 4.0.0 все пошло без проблем, только 1 день жизни потерял
  Ответить с цитированием
Старый 04.08.2010, 15:23   #10
oxxxy
Простоузер
Открыл блокнотом дамп там тоже крякозяблы вместо русского, хотя с кодировками в акелпаде и нотепаде+ игрался, есть шанс спасти базу?
  Ответить с цитированием
Ответ

Закладки

Опции темы
Опции просмотра

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

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



 
 

Текущее время: 18:32 25.05.2012. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод: zCarot