Как заставить SMF 2.1 Beta 1 работать с кодировкой windows-1251

Автор NordWest, 26 ноября 2014, 03:36:57

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

NordWest

Попытался локализовать SMF 2.1
Можно ли заставить его работать с кодировкой windows-1251?
У меня крякозяблы. >:(


GeorG

Можно.
Установите форум в БД с кодировкой windows-1251 и русификацию с этой же кодировкой - http://download.simplemachines.org/?smflanguages;lang=russian
Другое дело, а зачем это делать, если рекомендуемая в UTF-8?
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

NordWest

Цитата: GeorG от 26 ноября 2014, 06:21:22Установите форум в БД с кодировкой windows-1251
В инсталляторе негде выбрать windows-1251. Более того, галочка, включающая UTF-8 как кодировку по умолчанию уже установлена и не активна (снять нельзя).

Такое ощущение, что эта версия форума может работать исключительно на UTF.

Цитироватьhttp://download.simplemachines.org/?smflanguages;lang=russian
По этой ссылке не фига не получается выкачать smf_2-1_beta1_russian и smf_2-1_beta1_russian-utf8 - получаю файлы с нулевым размером. :(
Если не сложно - прицепите прямо на форум.

BoPoH

нечего прицеплять, нет русской локали пока

GeorG

Я ставил русификацию от версии 2.0.9, в принципе всё переведено, кроме новых функций.

Цитата: NordWest от 26 ноября 2014, 09:35:03В инсталляторе негде выбрать windows-1251. Более того, галочка, включающая UTF-8 как кодировку по умолчанию уже установлена и не активна (снять нельзя).
http://mysmf.ru/articles/fevralskoe-obnovlenie-smf-21-2014-god
ЦитироватьИз-за множества проблем с отличными от UTF-8 кодировками и конвертированием, новая установка будет только в UTF-8. Скрипт обновления не будет конвертировать существующую базу в UTF-8, так что, после обновления, ваша база останется прежней, но при новой установке будет использоваться только UTF-8, что упростит все в долгосрочной перспективе.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

NordWest

Цитироватьновая установка будет только в UTF-8
Собственно это я и пытался понять. Хотя конечно жаль - SQLite зарезали, кодировки то же. :-[

Mavn

На самом деле и в смф 2.0 при использовании >php 5.4 поддержка cp1251 условная...
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

digger®

Цитата: Mavn от 26 ноября 2014, 16:08:08
На самом деле и в смф 2.0 при использовании >php 5.4 поддержка cp1251 условная...
С учетом того, что цикл поддержки PHP 5.3 завершился в августе 2014, а SMF любой версии в кодировке 1251 не будет нормально работать на PHP 5.4 и старше, вопрос с кодировками можно закрыть окончательно.
Только UTF-8.

NordWest


NordWest

А можно как-то узнать примерные сроки появления локализации?

digger®

Цитата: NordWest от 27 ноября 2014, 11:21:59
А можно как-то узнать примерные сроки появления локализации?
Локализация есть и работа над ней ведется. Актуальная версия стоит на mysmf.ru
Почему на офсайте не доступна для скачивания, я не знаю.

NordWest

#11
Сам форум на windows-1251 запустил, но вот беда - режутся посты в русской кодировке.
Как не стараюсь - не могу понять какая функция отвечает за фильтрацию ввода. Подскажите, если не сложно. :'(

И сразу, если не сложно - ткните, где можно почитать про внутреннее устройство движка. А то я второй день в нем плотно копаюсь - как то всё уж очень мудрено устроено. Многие функции вызываются типа как из массива функций - я вообще с таким раньше не сталкивался. Мозги просто закипают. wallbash

GeorG

Цитата: NordWest от 30 ноября 2014, 18:28:01но вот беда - режутся посты в русской кодировке.
В каком смысле режутся?

Цитата: NordWest от 30 ноября 2014, 18:28:01И сразу, если не сложно - ткните, где можно почитать про внутреннее устройство движка.
В папке Sources, файлы движка, в папке Themes файлы стиля, остальные папки вторичные (аватары, вложение, смайлы, модификации, созданы другими модами, и.т.д.).

Обычно изменяемые файлы стилей:
Admin.template.php – админка форума (можно не переделывать, посетители всё равно не увидят)
BoardIndex.template.php – список разделов на главной странице
MessageIndex.template.php - список тем в разделах/подразделах
Display.template.php – страница с сообщениями темы
Login.template.php – страница входа на форум
Manage.XxXxX.template.php – управление всем подряд в админке
PersonalMessage.template.php – страница персональных сообщений
Post.template.php – страница отправки сообщения в тему
Printpage.template.php – страница для печати
Profile.template.php – профиль пользователя
Search.template.php – страница поиска и его результатов
Wireless.template.php – страница wap версии форума.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

NordWest

ЦитироватьВ каком смысле режутся?

Я понимаю, что где-то в коде стоит фильтр, который не понимает кирилицы и зарезает её как левые символы. Только вот где? :facepalm:


NordWest

Спасибо, попробую...

А не проясните как работает этот кусок кода, или где почитать про такое устройство

$smcFunc += array(
'entity_fix' => function ($string)
{
$num = $string[0] === 'x' ? hexdec(substr($string, 1)) : (int) $string;
return $num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202E || $num === 0x202D ? '' : '&#' . $num . ';';
},
'htmlspecialchars' => function ($string, $quote_style = ENT_COMPAT, $charset = 'ISO-8859-1') use ($ent_check, $utf8)
{
return $ent_check(htmlspecialchars($string, $quote_style, $utf8 ? 'UTF-8' : $charset));
}

GeorG

#16
Что у вас за тема (стиль форуме)? Возможно из-за неё глюки, пробовали на теме по-умолчанию?
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

NordWest

digger®
Обновление не помогло - результат тот же, что и при чистой установке.


GeorG
Тема дефолтная для версии 2.1
Да и вряд ли это может быть связано с темой.

digger®

Цитата: NordWest от 30 ноября 2014, 22:11:12А не проясните как работает этот кусок кода, или где почитать про такое устройство
Ничего мудреного - несколько user-defined функций лежат в массиве. Прочитать можно в доке по php https://php.net/manual/ru/functions.user-defined.php

Цитата: NordWest от 30 ноября 2014, 22:44:14
digger®
Обновление не помогло - результат тот же, что и при чистой установке.
У вас php то не старше 5.3 ?
И в чем практический смысл этой возни с мертвой кодировкой?

Yworld_garry

Цитата: digger® от 30 ноября 2014, 22:51:10И в чем практический смысл этой возни с мертвой кодировкой?
Очень интересно и мне, поясните пожалуйста?

NordWest

Цитата: digger® от 30 ноября 2014, 22:51:10И в чем практический смысл этой возни с мертвой кодировкой?
Теперь уже интерес чисто спортивный - я пытаюсь разобраться в устройстве движка.

ЦитироватьУ вас php то не старше 5.3 ?
Нет, как раз 5.3.

ЦитироватьНичего мудреного - несколько user-defined функций лежат в массиве.
Почитал я мануал, что вы посоветовали и нифига мне это не прояснило. Как объявляются массивы функций и как потом этим массивом пользоваться я так и не понял. Попробую сам поискать в инете.


GeorG

Цитата: Yworld_garry от 30 ноября 2014, 23:07:27поясните пожалуйста?
То мультиязычная, поддерживает все символы, а та, только кириллицу (плюс ещё несколько).
Нормальной поддержки нет начиная с PHP 5.4.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

NordWest

GeorG
Да нет - он спрашивал нафига вообще возиться с мертвой кодировкой.