Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
intent

Форум+мускл

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

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

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

Поделиться сообщением


Ссылка на сообщение

Если у Вас 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'е... Как только дойду до нее распишу подробно как и что делать.

Поделиться сообщением


Ссылка на сообщение

Люди!

Проапгрэйдил форум до версии 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 пользователей

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

×
×
  • Создать...