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

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

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

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

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

Форум+мускл

Поставил форум, установил Руссификацию, прописал кодировку. И вместо русских слов вопросики!

Вопрос: где в скрипте прописать кодировку для мусколы?

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

Если у Вас MySql 5, попробуйте поискать ответ здесь

 

Пожалуйста, не забывайте писать версию форума, версию базы и прочего, о чем спрашиваете, в названии темы.

Очень сложно быть телепатом.

  • Автор

2.2.2 версия.

Тему прочёл, но не уловил куда именно сувать, можно поподробней если не сложно!

Я не имею опыта работы с MySql 5, да и 2.2.2 у меня только тестовые.

Если не сложно, когда разберетесь, напишите решение.

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

Мы ответить на них можем далеко не всегда.

Информация взята с ibrportal.net

 

- в админке в общих настройках - настройка конфигурации - главные настройки: вместо iso-8859-1 указать windows-1251

- создаем файл .htaccess и прописываем нем

AddDefaultCharset windows-1251

- если нужно, то в файлах меняем

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

на

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

хотя для 22х мы этого ни разу не делали

- можно в в конфиг MySQL добавить пару строк

/etc/my.cnf

Рассмотрим пример конфига на основе MySQL 5.x.

В раздел [mysqld] необходимо добавить следующее:

default-character-set=cp1251 
character-set-server=cp1251 
collation-server=cp1251_general_ci 
init-connect="SET NAMES utf8" 
skip-character-set-client-handshake

Две последние строки принудительно устанавливают кодировку cp1251 для всех запросов.

В раздел mysqldump достаточно добавить только

default-character-set=cp1251

- Вариант решения проблемы с кодировкой при переносе БД с более старых версий MySQL от 4.1:

перед заливкой бэкапа MySQL со старого хостинга на новый в самом начале файла дампа добавляем

SET collation_connection = cp1251_general_ci;
SET collation_database = cp1251_general_ci;
SET collation_server = cp1251_general_ci;
SET character_set_client = cp1251;
SET character_set_connection = cp1251;
SET character_set_database = cp1251;
SET character_set_results = cp1251;
SET character_set_server = cp1251;

заливаем на новый хостинг

 

ищем файлы, которые отвечают за подключение к БД в Вашем скрипте и прописываем там в правильном оформлении

SET NAMES utf8;, а именно:

открыть \ips_kernel\class_db_mysql_client.php и \ips_kernel\class_db_mysqli_client.php

найти:

if ( ! mysql_select_db($this->obj['sql_database'], $this->connection_id) )
{
$this->fatal_error();
return FALSE;
}

вставить после:

mysql_query('SET NAMES utf8');

открыть \sources\ipsclass.php и \installl\core\ipsclass.php

найти:

$this->DB->connect()

вставить после:

mysql_query('SET NAMES utf8');

-на хостинге должна быть установлена русская локаль cp1251

Попробуйте создайте пустой файл и в нем вставьте функцию:

echo strtolower("ТеСТиРоВние");

И посмотрите переведет регистр или нет.

Если нет, то попробуйте так:

setlocale(LC_CTYPE, 'ru_RU.CP1251');
echo strtolower("ТеСТиРоВние");

Если и так не переведет, то пишите хостеру, чтобы в Вашей Unix-системе установил нужную локаль.

- для нормального логина с русским ником и регистрации с ним надо

проверить базу данных, а именно таблицы ibf_member_extra, ibf_members , ibf_members_converge,

чтобы в них стояло кодировка cp1251_general_ci

Попробуйте... Сам скоро буду думать над этой проблемой у себя на localhost'е... Как только дойду до нее распишу подробно как и что делать.

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

Люди!

Проапгрэйдил форум до версии 2.3.0 и теперь у меня ??????????????? вместо текста, вариант, помогавший в версии 2.2.2:

 

 

Заходим - \ips_kernel\class_db_mysql.php

Находим:

 

Код

if ( ! mysql_select_db($this->obj['sql_database'], $this->connection_id) )

{

$this->fatal_error();

return FALSE;

}

 

Вставляем после:

 

Код

mysql_query('SET NAMES utf8');

 

здесь не помогает! я знаю, это проблема с кодировкой базы данных, но как это исправить? может что-то прописать или выполнить какой-нибудь запрос к базе???

Если в базе данных еще данные в нормальном виде сохранились, то тогда используйте этот инструмент.

У меня нет шелла для экспорта-импорта базы, тем более для вмешательства в процесс...

Запросы можно copy&paste в phpMyAdmin.

 

p.s. верните копирайты на форуме в первозданный вид.

Перепробовал все запросы, что там указаны - ни 1 не помог, копирайты верну, не проблема.

Все скопировали, все ПРАВИЛЬНО выполнилось, ни одной ошибки не произошло и ничего в итоге не изменилось?

 

Ответ простой - в базе не осталось читабельных символов. Как решение - подымать бекап(ы).

Да, ошибок не было...

Если мне завтра бэкап хостер поднимет - сегодняшний апгрэйд скрипта форума останется в силе или опять надо будет апгрэйдить и опять кодировка полетит.

апгрэйдить и опять кодировка полетит.

 

Из-за upgrade кодировка не летит :(

Возможно чуть и летит, когда обновляем форум с русского на английкий, но это решается в 2 минуты, настройкой в "General Settings".

Я знаю, просто до апгрэйда файл class_db_mysql_client.php был другим вообще и тем более после того, как я туда прописал указанное выше (в версии 2,2,2 ранее тоже были проблемы), после апгрэйда файл стал другим и куда добавлять ту строку я вообще не знаю, соответственно форум опять в знаках ??????????

 

Я хотел бы знать, после бэкапа я смогу проапгрэйдиться или всё полетит снова?

форум опять в знаках ??????????

 

Ну не может этого быть после обновления, если конечно в conf_global.php не затерялась строка:

 

$INFO['mysql_codepage'] = 'latin1';

 

или cp1251, тогда все могло пойти не так как нужно.

 

Вообще, перед обновлением необходимо делать бекап всех файлов, базы данных. При обновлении быть уверенным 100%-но, что кодировка апгрейтера соответствует кодировке базы данных + лучше всего использовать ручной режим обновления (молча копировать запросы в phpMyAdmin и нажимать 'Далее...').

Уважаемый, почему вы перед обновлением не сделали все на локалхосте? Многих ошибок можно было бы избежать, а потом могли бы перенести все это на ваш сайт. Советую, бэкапните все, и делайте на локалхосте пока не добьетесь нормального результата.

А вот так, как вы делали, это не дело... Сразу на активном форуме... Кстати, эти знаки вопроса появляются еще при бэкапе, данные в БД вставляются плохо...

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

Аккаунт

Навигация

Поиск

Поиск

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

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