Перейти к публикации
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.

Проблема с кодировкой при обновлении с 2.2.1 до 3.2.3

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

Приветствую.

Такая проблема, после обновления с 2.2.1 до 3.2.3 все русские буквы кракозябрами

 

scsh_120116-112359.jpg

 

Как видно на скриншоте загадочным образом названия разделов и тем отображаются нормально.

В исходном коде страницы прописано в мета charset=windows-1251. Когда прописываю в conf-global.php

 

$INFO['sql_charset']            =    'utf8';

 

то в meta кодировка конечно же меняется на utf8 но картина следующая:

 

scsh_120116-112814.jpg

 

таким образом форум работает только без строчки

$INFO['sql_charset']

. Изначально в conf-global.php строчки

$INFO['mysql_codepage']

не было, я так понимаю она появилась в 2.3.х.

Базу конвертировал скриптом от Ritsuka.

 

Заранее большое спасибо за любую помощь.

Изменено пользователем Alexander Alyokhin

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

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

IP.Board 3 работает с UTF-8. А в какой кодировке у вас база данных? Зайдите через phpMyAdmin, посмотрите в какой кодировке таблицы БД (должна быть utf8_general_ci).

Если кодировка другая, надо будет конвертировать БД в UTF-8 (в дистрибутиве форума, в папке Tools, насколько я помню, есть скрипт для этого).

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

я вкурсе что UTF-8. именно utf_general_ci и стоит в phpmyadmin. после удаления INFO['sql_charset'] из конфига и ручного переключения в браузере на unicode все становится ок.. кроме названий тем которые превращаются в ромбики.

Изменено пользователем Alexander Alyokhin

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

Думаю, дело в языковом кэше, который в cp1251. Посмотрите какая кодировка в файлах в папке /cache/lang_cache/1. В файлах, где есть кириллица, кодировка должна быть UTF-8 (без BOM).

Изменено пользователем weiss

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

Думаю, дело в языковом кэше, который в cp1251. Посмотрите какая кодировка в файлах в папке /cache/lang_cache/1. В файлах, где есть кириллица, кодировка должна быть UTF-8 (без BOM).

 

utf.. главный вопрос почему вот это scsh_120116-112814.jpg когда прописываю $INFO['sql_charset'] = 'utf8';

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

Покажите лог ошибок SQL (SQL Error Logs).

Изменено пользователем weiss

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

главный вопрос почему вот это

Включите показ ошибок. Может что-то еще покажет. Или обратитесь с службу поддержки

 

 

P.S. Тему читали - Переход с ipb 2.3.6 на ipb 3

 

Покажите лог ошибок SQL (SQL Error Logs).

+ полезно посмотреть ошибки PHP (могут быть) и настройки MySQL

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

прошу прощения что не отвечал долгое время..

 

вобщем сделал я все заново в очередной раз. сконвертировал базу sxd, залил дистрибутив и проапгрейдился. теперь все нормально сконвертировалось - т.е. все кракозябрами) при выставлении utf в браузере - все становится нормально. но если прописать $INFO['sql_charset']='utf8'; то сразу ошибка. и второе - я только сейчас понял что посты то пустые, которые на русском были. просто пусто, те что на английском - сохранились.

 

вывод SHOW VARIABLES LIKE 'character_set%'

 

character_set_client utf8

character_set_connection utf8

character_set_database utf8

character_set_filesystem binary

character_set_results utf8

character_set_server cp1251

character_set_system utf8

character_sets_dir /usr/share/mysql/charsets/

 

логов SQL Error Logs нет

Изменено пользователем Alexander Alyokhin

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

Кстати, у вас указана кодировка в .htaccess в корне форума?

AddDefaultCharset utf-8

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

character_set_server cp1251

Совсем не есть хорошо.

 

логов SQL Error Logs нет

А просто ошибки PHP

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

Кстати, у вас указана кодировка в .htaccess в корне форума?

AddDefaultCharset utf-8

 

указана.. все равно <meta http-equiv="content-type" content="text/html; charset=windows-1251" />

 

Совсем не есть хорошо.

 

вот у меня такое чувство что все изза этого. а как поправить честно говоря не знаю.

 

напомните где лежат логи ошибок php?)

 

и есть какие то мысли почему пропали посты на русском после конвертации/апгрейда?

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

вот у меня такое чувство что все изза этого.

Не обязательно

 

а как поправить честно говоря не знаю.

Если у вас не сервер или VDS, то не как.

 

напомните где лежат логи ошибок php?)

А не где. Показ ошибок надо включать.

 

conf_global.php добавить в самый низ перед ?>

ini_set('display_errors', 1);

 

Или через .htaccess

php_flag display_errors On
php_value error_reporting 7

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

все равно <meta http-equiv="content-type" content="text/html; charset=windows-1251" />

Ну это потому что у вас в conf_global не стоит utf-8.

 

Текст ошибки говорит «Данная ошибка связана с нарушением целостности кэша настроек системы. Это может быть результатом неудачного переноса базы данных». Я верю.

 

А текст ошибки ведет только сюда...

Изменено пользователем Ph-A
ссылка на сайт нарушающий законы РФ

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

Ph-A, вывод включил, но вроде как чисто всё.

 

А текст ошибки ведет только сюда...

это намек как я понимаю? у меня не то что вы дали по ссылке.

 

ps. сейчас заметил в PhpMyAdmin что часть таблиц в utf8_general_ci, а часть в utf8_unicode_ci. до установки 3.2.3 точно знаю что все было utf8_general_ci

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

Что-то я все невнимательно читаю ....

 

Текст ошибки говорит «Данная ошибка связана с нарушением целостности кэша настроек системы. Это может быть результатом неудачного переноса базы данных». Я верю.

Ссылка плохая, но мысль правильная. Правда ошибка выглядит так -

 

This issue is generally caused by changing your character set in the ACP to one that does not support data stored in the rest of your settings, or by restoring a database backup/completing a server transfer and importing your database tables using the wrong character set or collation.
You should contact <a href='http://invisionpower.com'>IPS Technical Support</a> for further assistance.

 

указана.. все равно

Пока не поправите, ошибка не уйдет.

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

Пока не поправите, ошибка не уйдет.

Объявление кодировки в мета-теге никак не влияет на работу форума. Влияет только на отображение символов в браузере.

А вот разные collation лучше исправить.

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

Сейчас на странице 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.