Перейти к контенту
  • 0

Лицензионый IPB 2.3.5 в UTF-8


Вопрос

Хочу просто знать конкретный ответ на конкретный вопрос. Хочу купить IPB 2.3.5 хочу чтобы при этом форум работал на UTF-8.

 

(Удобнее было бы русифицированный, но не принципиально, поскольку ланг файлы в папке кэш и так и так можно заменить, изменив в них кодировку, вопрос в админке)

 

Реально? Или у ibresource такого добра не держат?

 

На письма не отвечают почему-то, наверное много лишних клиентов.

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

Русифицированный в 1251. Перевести в utf8 реально. Нада будет перекодировать русские лангпаки и еще несколько фиксов по коду сделать. Сам я брал оригинальный, и переводил его в утф... завтра могу посмотреть точнее, что делалось для этого.

ЗЫ: вопрос этот, кстати, поднимался в форуме частенько... поищите :D

Изменено пользователем MiksIr
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дифф большой, причем большинство там занимает замена русских строчек....

Попробую вспомнить что делалось...

Имеем _дистрибутив_ русского ipb

1. Тупая конвертация всего кода в utf8... чем делалась уж и не вспомню - возомжно юниксовым iconv-ом

2. В index.php меняем локаль (ищем setlocale)

3. grep-аем исходники на windows-1251 (Windows-1251, windows_1251), дабы поменять на utf-8, и грепаем cp1251 дабы поменять на utf8 (это касаеца выбора кодировки базы при инсталяции)

4. смотрим внимательно на xml файлы... вот сейчас смотрю на bbcode.xml - там encoding="ISO-8859-1", хотя русский текст есть. Похоже, я всем xml проставил кодировку utf (даже если там русского не было - хуже не будет)

5. Так как разжимать pro скин, что бы его перекодировать, было лень, для инсталяции этого скина был сделан костыль: в install/core/actions/install.php там где "Добавление шаблонов стиля IP.Board Pro" менялась кодировка клиента для базы на 1251 (сама база настроена на UTF8, т.е. база сама перекодировало то, что дальше пойдет из 1251 в utf8), а после установки скина - обратно в utf8. Хочу отметить, что мы используем Постгрес - как в мускуле с переключением кодировок - я фих знаю. В принципе, если забить на про-скин, можно на это вообще забить.

 

Хочу отметить, что за годы, проведенные с мускулем, я так и не вник в их кодировки (в общем, нужды не было), а сейчас работаю с постгресом - там все просто, есть кодировка базы, есть кодировка клиента - перекодирование информации между ними делает база прозрачно. К чему это я - если мы работаем с utf8 в форуме, клиент базы должен знать, что он работает в utf8 (по идее грепы из пункта 3 должы это сделать), ну и база тоже должна быть в utf8. Поставив везде где можно utf-8 вместо 1251 есть шанс, что все с базой заработает сразу.

 

Далее, в настройках форума в админке должна стоять кодировка страниц utf-8 и есть там замечательная опция - использовать mb_ функции - ее тоже включить. В принципе, вроде все. Работает. Делалось с 2.3.1.

 

В ранней версии форума, когда я такое проделывал, вылезал косяк с функцией substr при логине в админку если пароль русскими буквами был. (там при логгировании пароль заменялся звездочками кроме последней буквы... конечно же substr с русской utf8 буквой там работал криво). Сейчас не знаю, осталось ли такое.

 

Ну и надо понимать, что обновление версий в IPB идет методом "перезапиши весь код и запусти инсталятор для действий с базой"... т.е. или апгрейдить сравнением дистрибутивов и патчем на рабочую ветку (так делаем мы), или конвертить каждый новый дистрибутив в utf8 и накладывать на старую инсталяцию... но в эту дверь предлагаю войти уже самим.

Изменено пользователем MiksIr
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я собственно и поискал, поэтому-то решил уточнить, все пишут что-то, не разберёшься.

 

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

 

То есть если я покупаю лицензию мне с этим никто не поможет и не предоставят форум, который бы работал с utf-8 всё равно нужно самому править.

Изменено пользователем Galenfea
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если взять английскую и просто поставить лангпаки сконвертированные в utf... то может и пройдет такой номер, т.е. теоретически все должно работать, практически - можно посмотреть дифф русской и английской версии на предмет, что еще меняли кроме русификации. Как минимум, правда, не забыть добавить setlocale и посмотреть какая там у базы кодировка.

 

То есть если я покупаю лицензию мне с этим никто не поможет и не предоставят форум, который бы работал с utf-8 всё равно нужно самому править и не мало. Жаль.

Ну это да, лицензия идет в 1251 и ясно дело что саппортить два варианта никто не будет :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
У меня работает под UTF-8. Ставил английскую версию, потом ставил модуль языка для пользовательского интерфейса - русский в админке мне не сильно нужен. Начиналось все это еще с бесплатных версий. 2.1.7 больше года работало нормально, в 2.3.5, на которую переполз в начале июня, пока была одна серьезная проблема (некорректно обрабатывались "простые" BB-коды, но только для двухбайтовых русских сообщений). Апгрейд с 2.17 до 2.3.5 делал штатными средствами, единственно запросы запускал ручками, потому что база большая.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

При переходе в UTF конвертировать файлы из windows-1251 в UTF-8 под unix можно запустить в распакованном каталоге форума команду

 

find ./  \( -name "*\.php" -o -name "*\.xml" -o -name "*\.html" \) -type f -exec recode windows-1251..UTF8 {} \;

 

Естественно, в системе должны быть программы find и recode

Изменено пользователем KEMBL
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а как же str_replace и им подобные поменять на мултибайтные? обязательно надо проделать иначе возникают проблемы:

- обрезание слов;

- внешняя БД для авторизации

и т.д.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.