Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Проблема с кодировкой при обновлении с 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

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

@Alexander Alyokhin, не надо путать кодировку MySQL и кодировку Apache

System setting - System- Server Environment - Document character set что написано? надо UTF-8

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

  • 1 месяц спустя...

У меня аналогичная проблема.

Переносил форум с 2-ой ветки в третью.

 

Конфиг файл не хочет принимать параметр utf8 ($INFO['sql_charset'] = 'utf8';) за то стабильно берет latin1 и cp1251

 

У меня весь сайт в знаках вопроса (кроме дизайна)

 

Если sql_charset убрать, и провести ручной запрос с админки получаю

 

Результаты ручного запроса

Variable_name Value

character_set_client latin1

character_set_connection latin1

character_set_database utf8

character_set_filesystem binary

character_set_results latin1

character_set_server latin1

character_set_system utf8

character_sets_dir /usr/share/mysql/charsets/

 

Если вписать cp1251 то

character_set_client cp1251

character_set_connection cp1251

character_set_database utf8

character_set_filesystem binary

character_set_results cp1251

character_set_server latin1

character_set_system utf8

 

А при прописки utf8 форум выдает ошибку... такую же как и человечка выше.

 

Да еще такой вопрос...

в /usr/share/mysql/charsets/ должен ли быть файл типа utf8.xml (ибо латин1 или сп1251 и другие присутствуют, но нет utf8)

Неправильно конвертировались бд, или не в утф8. Попробуйте сейчас переконвертировать данные в utf8, именно данные не просто сменив сравнение у таблиц. Если не получится, восстанавливайте бэкап, конвертируйте его если не в utf8 и выполните еще раз обновление, обязательно убедившись что в conf_global.php установлено $INFO['sql_charset'] = 'utf8';

 

Если sql_charset убрать, и провести ручной запрос с админки получаю

http://ipbskins.ru/forum/topic5756.html/page__view__findpost__p__62462

БЛин...

МОжет я что пропустил.

Из старой 2.3 я слил базу.

Открыл ее в блокноте

в свойствах выбрал utf-8

сохранил.

 

В новое место влил...

Запустил скрипт

<?php
include("conf_global.php");
$dbhost = $INFO['sql_host'];
$dbuser = $INFO['sql_user'];
$dbpass = $INFO['sql_pass'];
$dbname = $INFO['sql_database'];
header('Content-type: text/plain');
$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );
$db = mysql_select_db($dbname) or die( mysql_error() );
$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
$result = mysql_query($sql) or die( mysql_error() );
print "Database changed to UTF-8.\n";
$sql = 'SHOW TABLES';
$result = mysql_query($sql) or die( mysql_error() );
while ( $row = mysql_fetch_row($result) ){
$table = mysql_real_escape_string($row[0]);
$sql = "ALTER TABLE $table DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci";
mysql_query($sql) or die( mysql_error() );
print "$table changed to UTF-8.\n";
}
mysql_close($dbconn);
?>

 

потом начал делать обновление admin/update

и все в вопросах

Открыл ее в блокноте

в свойствах выбрал utf-8

сохранил.

Запустил скрипт

Не знаю умеет ли блокнот конвертировать данные или нет, но делать надо одним из вариантов а не конвертировать 10 раз подряд. Проще делать скриптом.

 

Потом:

обязательно убедившись что в conf_global.php установлено $INFO['sql_charset'] = 'utf8';

запускаете обновление.

  • 2 месяца спустя...

Привет всем! Имеется специфическая проблемка... обновился до 3.3.3 и заимел проблемку.

Изначально базу в виндовс поставили... Но я указал утф-8.

А если в локализации проблема с " И" ? где и что менять?

40c2f4f13f47.png

При поиске слов на "И" в языке вываливается ошибка

"There appears to be an error with the database.

If you are seeing this page, it means there was a problem communicating with our database. Sometimes this error is temporary and will go away when you refresh the page. Sometimes the error will need to be fixed by an administrator before the site will become accessible again.".

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.