[FAQ] Проблема с UTF8

Темы по наиболее часто задаваемым вопросам по phpBB 3.0.x. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
volset
phpBB 1.0.0
Сообщения: 8
Стаж: 17 лет 7 месяцев
Поблагодарили: 1 раз

[FAQ] Проблема с UTF8

Сообщение volset »

Иногда вместо текста отображаются ?????
Ключевое слово здесь иногда :D

Вот пациент http://www.astra-club.org.ua
Для того что бы отловить баг надо несколько раз нажимать кнопку обновить до появления бага.
От браузера независит так как знаки "??????" уже приходят с сервера.
Текст который читается з базы отображается всегда нормально.
PHP Version 5.2.1

Если существует проблема, проявляющаяся в "битом тексте" - замене некоторых символов в сообщении на BOM (знак вопроса в ромбе):

Основной метод решения:
Установить значение mbstring.func_overload равным 0.

Возможное решение:
В корневой директории форума создайте файл .htaccess со следующим содержанием:
.htaccess

Код: Выделить всё

CharsetDisable On
CharsetDefault UTF-8 
CharsetSourceEnc UTF-8
Если после этого теряется работоспособность ресурса, попробовать убрать из вышеуказанного кода строку

Код: Выделить всё

CharsetDisable On
Если не помогает, то вместо первого попробовать добавить в .htaccess строку

Код: Выделить всё

AddDefaultCharset UTF-8
Если у хостера Russian Apache попробуйте добавить в .htaccess

Код: Выделить всё

CharsetDisable On
AddHandler default-handler html
CharsetDefault utf-8
И если совсем ничего не помогает:

Код: Выделить всё

OPEN
includes/utf/utf_tools.php

FIND
function utf8_normalize_nfc($strings)
{

AFTER, ADD
return $strings;
уже приходят с сервера.
Текст который читается з базы отображается всегда нормально.
PHP Version 5.2.1

Если существует проблема, проявляющаяся в
le_
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 6 месяцев

Re: [FAQ] Проблема с UTF8

Сообщение le_ »

Rayden писал(а):Послушай, наконец-то создана единая кодировка, призванная покончить с бардаком несовмесимых кодировок.
Ты хоть думай немного, кому нужно будет делать под другие, если есть универсальная?
А твоя проблема как раз обусловлена наличием старых кодировок.
Ну, кодировка создана не не давно, а еще в 92 году... Почему разработчики решили использовать ее именно сейчас - это еще вопрос.
И не факт, что она станет стандартом кодирования unicode в web или где-бы то ни было еще.
Ее "универсальность" не способствует удобству ее использования. Если бы сейчас везде и повсеместно использовалась UTF-8 (в том числе, в продуктах Microsoft, которые, не смотря ни на что, лидируют по количеству пользователей, которые отдают им предпочтение), тогда да, согласился бы - универсально и удобно. А сейчас, это создает лишние трудности для разработчиков и администраторов, которые привыкли работать с другими кодировками. Повторюсь, не факт, что она станет стандартом!
У нас, в России, все-таки больше распространена windows-1251 - вот с ней действительно удобно работать, не требуется никаких дополнительных манипуляций, никакого дополнительно ПО для преобразования в удобочитаемый вид и обратно... в "универсальный"... При необходимости, можно преобразовать одно в другое, и большого смысла чесать все под одну гребенку не вижу.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: [FAQ] Проблема с UTF8

Сообщение rxu »

Убедительно прошу не разводить пустых дискуссий. Один факт очевиден и неоспорим - phpBB3 основан на UTF-8, и изменить это практически нельзя. На этом предлагаю закончить оффтоп.
Изображение
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 21 год 1 месяц
Откуда: СССР
Благодарил (а): 4 раза
Поблагодарили: 94 раза

Re: [FAQ] Проблема с UTF8

Сообщение Mr. Anderson »

le_
Ой, повеселили :)
Весь мир переходит на юникод - он появляется буквально везде, его поддержку внедрили даже в мп3-плееры, и каждый новые софтверный продукт в 95% случаев декларирует поддержку юникода как нововведение, а мыкросовд не поддерживает - значит не стандарт.
Спешу вас огорчить - МС юникод поддерживает и уже давно (начиная с винтукея, а ОС, как ни крутите, самый широкораспространенный продукт МС), а то что СУБД от МС юникод не поддерживает, так то не проблема юникода совсем. Это проблема МС, собственно. Да им особо и неважно - не та у них доля на рынке СУБД + переход к универсальности майкрософту всегда давался тяжело (не в последнюю очередь потому, что это лишало части работы [и денег!] их техсуппорт).

Чтобы было понятно: МС - не показатель. А вот чехарда с кодировками (и сопряженными факторами типа локалей и проч.) - это серьезный показатель. Наконец-то мы от этого уходим... И только глупцы будут сопротивляться, списывая это на консерватизм....

Спорить не о чем...
le_
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 6 месяцев

Re: [FAQ] Проблема с UTF8

Сообщение le_ »

Mr. Anderson, нравится - пожалуйста, работайте. Мне сейчас удобнее работать с windows-1251. Когда будет все под UTF-8, тогда и я перейду...

[Опасайтесь: администрация phpbbguru.net спешит огорчить людей :)]
Аватара пользователя
Alek$
Former team member
Сообщения: 2616
Стаж: 19 лет 8 месяцев
Откуда: Новосибирск
Поблагодарили: 3 раза

Re: [FAQ] Проблема с UTF8

Сообщение Alek$ »

le_ писал(а):[Опасайтесь: администрация phpbbguru.net спешит огорчить людей :)]
не понял. Это вы к чему?
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
le_
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 6 месяцев

Re: [FAQ] Проблема с UTF8

Сообщение le_ »

Mr. Anderson писал(а):...Спешу вас огорчить - МС ...
Не принимайте близко к сердцу :) Пардон, за оффтоп.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: [FAQ] Проблема с UTF8

Сообщение rxu »

le_
Я не припомню, чтобы тут кто-то кого-то куда-то заставлял или уговаривал переходить.

З.Ы. тему чистить придется.
Изображение
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Re: [FAQ] Проблема с UTF8

Сообщение Палыч »

le_ писал(а):База у меня на mssql 2005
цитата:
If you're really using MS for your forum database you are a brave, brave person :-)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 21 год 1 месяц
Откуда: СССР
Благодарил (а): 4 раза
Поблагодарили: 94 раза

Re: [FAQ] Проблема с UTF8

Сообщение Mr. Anderson »

le_ писал(а):Мне сейчас удобнее работать с windows-1251
Это ваши личные тараканы. Не переносите их на всех.
le_ писал(а):Когда будет все под UTF-8, тогда и я перейду...
"ВСЁ" уже давно под юникодом, толкьо вот некоторые упрямятся.
Знаете как говорят: кто хочет, тот ищет возможности, кто не хочет - причины.
Так вот неподдержка юникода неким продуктом МС - это как раз причинаю
Делайте выводы.
Stern
phpBB 2.0.3
Сообщения: 368
Стаж: 20 лет

Re: [FAQ] Проблема с UTF8

Сообщение Stern »

Прочитал тему, но так и не могу понять, как исправить вот этот глюк:
Вобщем�адо народ�аламутить��o��

Возник буквально два дня назад. Никакие изменения в файлы форума не вносил! (Подозреваю, что хостер что-то у себя натворил...)
Форум 3.0.2
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8_unicode_ci
У таблиц же указано сравнение: utf8_bin
Я так понимаю, что дело именно в этом - разница в сопоставлении.
Если да, то как это исправить?

Заранее благодарен
Stern
phpBB 2.0.3
Сообщения: 368
Стаж: 20 лет

Re: [FAQ] Проблема с UTF8

Сообщение Stern »

Уж простите, что нарушаю пр.3.5, но уж больно не хочется терять и без того маленький коллектив форума

Пробовал менять сопоставление с MySQL на utf8_bin - не помогло.

Добавлено спустя 14 минут 44 секунды:
AddDefaultCharset UTF-8 - тоже не помог
Кстати, квадратики появляются только в новых сообщениях.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: [FAQ] Проблема с UTF8

Сообщение rxu »

Stern писал(а):Возник буквально два дня назад. Никакие изменения в файлы форума не вносил!
Просьба: спросите у хостера, что изменилось (даже по мелочам), и сообщите в этой теме.
Изображение
Stern
phpBB 2.0.3
Сообщения: 368
Стаж: 20 лет

Re: [FAQ] Проблема с UTF8

Сообщение Stern »

Ок. Попробую достучаться... Но это довольно сложно, т.к. форум находится не на платном хостинге...

Добавлено спустя 2 минуты 16 секунд:
Самое интересное, что этот глюк появляется почти каждый раз. Ключевое слово - почти. Т.е. бывает, что квадратики вообще не появляются... Однако при редактировании такого нормального сообщения тут же все портится.
Stern
phpBB 2.0.3
Сообщения: 368
Стаж: 20 лет

Re: [FAQ] Проблема с UTF8

Сообщение Stern »

Привет всем. Хостер все-таки не только ответил, но и исправил за меня ошибку. Вот только выдал минимум информации, почему так случилось...
Вот что мне написали:
"В коде форума, какая-то жутка процедура utf нормализации, которая подменяет символы на какие-то другие. Возможно раньше эта фигня выключена была и не использовалась, поэтому всё и работало. разбираться где там глюк желания нет она на несколько экранов. Выключаю в нее заход в коде и всё пашет без кракозяблов.
/ermak/forum/includes/utf/utf_normalizer.php СТРОКА 144"

Если есть время, объясните, что исправил хостер?
Я посмотрел этот файл и строку 144 - туда было добавлено только return;
вот кусок кода до и после этой строки:

Код: Выделить всё

include($phpbb_root_path . 'includes/utf/data/utf_canonical_decomp.' . $phpEx);
		}
return;
  		$str = utf_normalizer::recompose($str, $pos, $len, $GLOBALS['utf_nfc_qc'], $GLOBALS['utf_canonical_decomp']);
	}

	/**
	* Validate and normalize a UTF string to NFKC
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: [FAQ] Проблема с UTF8

Сообщение rxu »

раньше эта функция не могла быть выключена, просто она работала нормально. После каких-то изменений в настройках или программном обеспечении сервера нормально работать перестала. Лечение путём её "отключения" в этой теме уже рассматривалось (просто добавили return перед остальным кодом функции).
Изображение

Вернуться в «FAQ (phpBB 3.0.x)»