Проблемы с кодировкой

Что такое «кодировка»? Для тех кто не знает - вкратце, это когда вы заходите на форум и видите вместо русских букв кракозябры, иероглифы и прочую подобную живность. Нам потребуется поменять кодировку таким образом, чтобы никаких проблем не было.

2.0.x, 2.1.х

1. Общий шаблон

Итак, первым делом идём в Админцентр → Внешний вид → Изменить общий шаблон форума. На каждом наборе шаблонов нужно произвести следующие изменения: нажать Edit, найти

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

и заменить его на

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

Если вы используете устаревшую версию форума 1.1.x, нужно будет найти код

</head>

и прямо перед ним добавить

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

2. Всплывающие окна

Теперь приведём в нормальный вид всплывающие окна. Для этого открываем файл skin_global.php, что в папке cache/skin_cache/1* (если у вас несколько скинов, нужно отредактировать файл в каждом скине). В этом файле в функции function pop_up_window нужно найти

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

и заменить на

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

Если вы используете устаревшую версию форума 1.1.x, нужно в sources/functions.php найти вот этот кусок кода:

           <code php>   <head>
                 <title>$title</title>
                 $css
              </head></code>

и сделать из него вот такой:

                <head>
                   <title>$title</title>
                   $css
                   <meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1251\">
                </head>

Внимание! После внесения изменений в skin_global.php, равно как и в любой другой файл в папке Skin/s* , нужно направиться в Админцентр → Skins & Templates → Manage HTML Templates и нажать там внизу кнопочку Run Tool. Если у вас несколько шаблонов для форума, Run Tool нужно запустить, последовательно выбирая все шаблоны (run on template set).

Внимание! Если на вашем сервере используется PHP в Safe Mode, в папке Skin/s* может ничего не оказаться. Если там ничего не оказалось, тогда придётся отредактировать соответствующие куски кода прямо в SQL-базе. Лезем в Админцентр → Skins & Templates → Manage HTML Templates, жмём там ссылку Manage HTML. Для версий 1.2, 1.3 находим раздел Global HTML elements, в нём секцию pop_up_window. Жмём Edit Single и вносим там изменения из пункта 2. Для версии 1.1 здесь ничего делать не надо.

3. Окна редиректа

Избавляемся от возможных проблем в окне редиректа. За кодировку в окошке редиректа отвечает функция function Redirect($Text, $Url, $css) в файле Skin/s*/skin_global.php. Находим эту функцию в нужном файле. Теперь находим в ней вот этот код:

</head>

Сверху дописываем:

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

Под версией 1.1.х не запутаетесь, под версиями 1.2-1.3 нужно не перепутать этот </head> с тем </head>, что находится выше, в функции pop_up_window (там мы уже всё исправили). Внимание! Если на вашем сервере используется PHP в Safe Mode, лезем в Админцентр → Skins & Templates → Manage HTML Templates, жмём там ссылку Manage HTML.

ACP Home / Skin Global / All Global HTML –»>Redirect После

<title>{ipb.lang['stand_by']}</title>

Вставить

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

Окна-попапы : ACP Home / Skin Manager Home / All Global HTML –»>pop_up_window Перед

<title>$title</title>

Вставить

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

4. Кодировка в админцентре

Исправление кодировки в Админцентре. Открыть sources/Admin/admin_skin.php. Найти ДВА РАЗА:

<title>Menu</title>

Ниже добавить:

<meta HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1251\">

5. Кодировка в Lo-Fi

Кодировка Lo-Fi Version Находим в /lofiversion/lofi_skin.php

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

Меняем на

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

6. Уведомления об ответах

Кодировка в уведомлении об ответе и прочее. \sources\classes\class_email.php Найти код

var $char_set = 'iso-8859-1';

Заменить на

var $char_set = 'windows-1251';

Обсуждение кодировки на форуме IBResource

 

faq/charset.txt · Последние изменения: 2007/08/14 12:01 (внешнее изменение)

Работает на DokuWiki
© 2002—2006 ibresource
e-mail: wikiteam@iblink.ru