Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Скала

Кодировка БД

Рекомендованные сообщения

Здравствуйте, сообщения в БД отображаются в виде: (Легендарный Каплан, чемпион Кавказа 2001, 2002РіРі., чемпион Р РѕСЃСЃРёРё Рё РЎРќР“ 2002Рі. владелец Руслан Караев.)

но на самом форуме они отображаются нормально. Подскажите, почему?

Поделиться сообщением


Ссылка на сообщение

Это utf8 который отображается как cp1251. Данные в базе заносятся в неправильной кодировке, такое случается если соединение установлено в кодировке отлично от той, в которой находится текст.

Поделиться сообщением


Ссылка на сообщение

а как это исправить?

Поделиться сообщением


Ссылка на сообщение

Обычно делается бэкап с кодировкой соединения cp1251, потом полученный бэкап импортируется с соединением utf8. Также устанавливается правильное соединения на форуме (./conf_global.php), чтобы в будущем данные не перекодировались при записи в бд.

Не пробовал - конвертировать сразу средствами mysql, в теории должно сработать. Но в любом случае следует ответственно подойти к задаче, и прежде чем делать какие-то изменения с рабочей базы, основательно протестировать на тестовом сервере, иначе можно безвозвратно покацать данные в ней.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Теоретически, должно помочь следующее:

 

1. Как писали выше, сделать бэкап базы данных, например, программой SypexDumper_2010 (подойдет бесплатная версия).

 

2. Прописать кодировку соединения в файле conf_global.php: $INFO['sql_charset'] = 'utf8';

 

3. Через оболочку phpMyAdmin установить кодировку таблиц базы данных как utf8_general_ci

Для этого для каждой таблицы выполнить запрос вида:

ALTER TABLE `ip55_admin_login_logs` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

где ip55_ - префикс таблиц вашей база данных (заменить на свой или удалить, если у вас нет префикса).

 

4. В настройках форума прописать для языка ru_RU.UTF-8 и для системы UTF-8

mT5Pd.jpg

 

5. Переконвертировать данные в таблицах в кодировку utf8, используя официальный конвертатор от производителя форумов IPB (аттач).

 

Вариант 1 (в виде аддона): https://mega.co.nz/#!bQoFhbCC!_Ysk1CaIQ0f-tMajDSca4u-BkRJyxH8B3PM_HCnQ6Q4

Вариант 2 (в виде скрипта для ssh): https://mega.co.nz/#!6JxzTBLQ!tYicLYeXrbNm3V4hDmfNx5n_lgPSQ1_-0fCmSEp7fUU

 

6. Если ничего выше не помогло, обратитесь в раздел платных услуг тут на форуме.

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

спасибо большое, помогите разобраться с конвертером, не понял последний абзац:

Web or command line?
This converter is available with two interfaces. There is a web version that you can launch using the button below. 
The preferred method is to use the command line version. If you have shell access with your hosting account, then please launch the shell converter interface by using cd to navigate to your community root and then run php cli.php and follow the onscreen prompts. If you are running from the Windows command prompt or your shell client does not support colors, then run php cli.php --basic.

Start Web Converter

 

при нажатии Start Web Converter скачивает файл index.php куда его нужно загрузить?

Поделиться сообщением


Ссылка на сообщение

Обычно делается бэкап с кодировкой соединения cp1251, потом полученный бэкап импортируется с соединением utf8. Также устанавливается правильное соединения на форуме (./conf_global.php), чтобы в будущем данные не перекодировались при записи в бд.

Не пробовал - конвертировать сразу средствами mysql, в теории должно сработать. Но в любом случае следует ответственно подойти к задаче, и прежде чем делать какие-то изменения с рабочей базы, основательно протестировать на тестовом сервере, иначе можно безвозвратно покацать данные в ней.

нужно:

1. поставить на сервере кодировку: ср1251_general_ci

2. Экспортировать БД с кодировкой win-1251

3. импортировать БД с кодировкой utf-8

 

я правильно понял? или что-то не так?

Поделиться сообщением


Ссылка на сообщение

1) Верните Вашу бд в исходное состояние, чтоб и сравнение было cp_1251 (Все в первоначальный вид, как и было), то думаю Вы делов там понаделали.

2) Прочитать инструкцию.

3) Дойти до вкладки

Другие способы

Конвертирование посредством самого MySQL

 

4) Скрипт конвертнет все в utf8_general_ci, но сравнение будет другое стоять, поменяете его на utf8_general_ci

5) Проверить таблицы после конвертации вручную (Например откройте ibf_post) на читабельны вид. (нет иероглифов и тд)

6) Удалить скрипт, пользоваться форумом.

 

Или стукнете в ЛС, оставьте свой скайп, я Вам сам конвертну.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
1. поставить на сервере кодировку: ср1251_general_ci

Не на сервере, а в клиенте который будет делать бэкап выбрать кодировку соединения cp1251.

Поделиться сообщением


Ссылка на сообщение

Непонятки полные.

 

Сравнение стоит utf8_general_ci, кодировка тоже такая, но структура в cp1251, хотел преобразовать дампером и нотепадом, но результат не дает. (Нотепад преобразовывал на половину, многое было в ???? знаках)

Все возможное, перепробовал. У меня мысли такие, что переиграли конвертером.

На денвере тоже проверял.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Кодировка бд оно такое, наполовину танцы с бубнами.

Поделиться сообщением


Ссылка на сообщение

- Декодировал нотепадом, под Windows 8 он криво работает показывало половину базы нормально, а половину нет , сохранил и снова открыл вроде ���� не было.

 

Но есть одно НО надписи покорежило, но я на них внимания не обращался. при импорте они наладятся.

--
-- Структура таблицы `admin_login_logs`
--

 

- Там была проблема с языками, видно при импорте оно все стало в ������

- Сбросил все кеши и тд, в конфиге все поправил заработало, поиском по базе �����

 

Снова повторюсь, скориптом конвертации нельзя пользоваться по 2 раза и тд.

Поделиться сообщением


Ссылка на сообщение

спасибо большое Атаману, помог!)

появилась маленькая проблемка, не отображаются в "списке пользователей" те, у кого ники РУССКИЕ как это исправить можно? просто пользователи волнуются из-за этого...

заранее спасибо

Поделиться сообщением


Ссылка на сообщение

Скорее всего, перекодировать базу с помощью официального перекодировщика (выше). У меня на сайте такие пользователи отображаются.

Поделиться сообщением


Ссылка на сообщение

проблему решил, обновил имена пользователей вручную

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...