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

Форум+мускл

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

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

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

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

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

Если у Вас 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 и нажимать 'Далее...').

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

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

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

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

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