Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Кодировка БД

Опубликовано:

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

Опубликовано:

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

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

Опубликовано:

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

 

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. Если ничего выше не помогло, обратитесь в раздел платных услуг тут на форуме.

Опубликовано:
  • Автор

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

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) Удалить скрипт, пользоваться форумом.

 

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

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

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

Опубликовано:

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

 

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

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

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

Опубликовано:

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

Опубликовано:

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

 

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

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

 

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

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

 

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

Опубликовано:
  • Автор

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

Опубликовано:

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.