[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

Если существует проблема, проявляющаяся в
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

Merlin
Ответил в ЛС.

Как вариант (почти отсебятина) попытки исправления: в .htaccess прописать

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

php_value mbstring.func_overload 1
Экспериментировать, выставляя вместо единицв другие числа, предположительно до 7.
Изображение
Аватара пользователя
Merlin
phpBB 1.4.2
Сообщения: 54
Стаж: 20 лет 1 месяц
Откуда: odessa.ua

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

Сообщение Merlin »

rxu писал(а):в .htaccess прописать
Не помогает. Кстати бъется уже каждое сообщение, даже вылавливать глюк не надо долго.
Если спросят: "Куда?", отвечай: "В никуда!",
Это правда, и в этом беда!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

naderman писал(а): Can anyone please give me the hex codes for a minimal sequence of bytes that trigger this behaviour and give me access to a board and its code which shows this behaviour if I cannot reproduce it locally?
Просьба разработчика. Кто всё понял и согласен - детали мне в личку.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

Требуется уточнение от тех, у кого имеется проблема со спорадически "битыми" постами.
У всех используется Apache 1.3.x с подключением PHP как модуля через mod_php?
Изображение
Marsupilami
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 9 месяцев
Забанен: Бессрочно

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

Сообщение Marsupilami »

Агрхм... Добрый день.
В общем переезжаю я с хостинга на хостинг, при этом попутно переезжаю с 2.0 на 3.0 (2.2.23 на 3.0.1). Наивно думая, что все просто, средствами самого форума сделал бэкап базы данных. На прежнем хостинге была 1 база данных MySQL 5. На новом их 5 баз, но MySQL там 4 версии. Ну да ладно, думаю. Так как на локальную машину и желания и возможности веб-сервер ставить не было, поставил я на новый хост в 2 разные папки 2 версии форума, одна 2.2.23, другая 3.0.1. Восстановил БД на 2-й версии. Все ОК. Сконвертировал в 3-ю, все ОК, но вместо русских букв отображались знаки вопроса. Ставил я и 2 и 3 сначала английскую версию, потом русифицированный пакет. Штудирую FAQ-и и подобные темы выяснил, что траблы могут быть в кодировке. Посмотрел, какая у меня в мускуле стояла - ср1251_general_ci. Сменил на utf8_bin. И на главной странице phpmyadmin и конкретно уже в таблицах. Не помогло. Штудировал дальше. Нашел мессагу про .htaccess. Сделал все как написано, но на форум уже не пускало, ругаясь, что возникла ошибка (не 500), и что следует бы обратится к администрации. Штудирую дальше, ведь должен же быть выход. Нашел, что сама база данных может быть не в нужной кодировке UTF8, и что посредством обычного форточного блокнота можно сменить кодировку на нужную, что и было сделано. Заного заливал, заного конвертил. УРА, знаки вопроса пропали! Но на их месте стали отображатся крокозябрики. Сам форум стал понимать кириллицу, что везде пишешь, все отображается на родненьком. Но те старые сообщения, которые были перенесены со старого форума, отображаются непонятными символами. Уже незнаю, что делать, по этому обращаюсь к вам за помощью.

Добавлено спустя 1 минуту 11 секунд:
Забыл добавить, и на старом, и на новом форумах никаких модов не стояло и пока не стоит.
Аватара пользователя
jekill
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 2 месяца

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

Сообщение jekill »

rxu писал(а):Требуется уточнение от тех, у кого имеется проблема со спорадически "битыми" постами.
У всех используется Apache 1.3.x с подключением PHP как модуля через mod_php?
Apache 2.2
mod_php

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

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

Сообщение rxu »

Можете ли показать кусок из httpd.conf, где подключается PHP?
Изображение
Marsupilami
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 9 месяцев
Забанен: Бессрочно

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

Сообщение Marsupilami »

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

<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysql';
$dbhost = 'localhost';
$dbport = '21';
$dbname = '[имя базы]';
$dbuser = '[имя юзера]';
$dbpasswd = '[пароль юзера]';
$table_prefix = 'phpbb_';
$acm_type = 'file';
$load_extensions = '';

@define('PHPBB_INSTALLED', true);
// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);
?>
Незнаю, то или не то, если не то, скажите где посмотреть. Это config.php
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

Marsupilami писал(а):Это config.php
rxu писал(а):httpd.conf
Разницу ощущаете? Речь о файле настроек апача.
Изображение
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 20 лет 9 месяцев
Откуда: Бердск

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

Сообщение crash »

Marsupilami писал(а):$dbport = '21';
хм.. интересно, что в самом деле такой?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Marsupilami
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 9 месяцев
Забанен: Бессрочно

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

Сообщение Marsupilami »

Разницу ощущаете? Речь о файле настроек апача.
Ну это я выложил для большей информативности моей проблемы, к вашему посту это никоим образом не относится, прошу прощения.
хм.. интересно, что в самом деле такой?
Да, как ни странно, но форум работает.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 20 лет 9 месяцев
Откуда: Бердск

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

Сообщение crash »

А кто хостер? Или вы сами по себе?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Marsupilami
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 9 месяцев
Забанен: Бессрочно

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

Сообщение Marsupilami »

http://zymic.com/ - хостинг товарищей буржуев.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

Marsupilami писал(а):и что посредством обычного форточного блокнота можно сменить кодировку на нужную, что и было сделано.
Форточным блокнотом такое не провернуть. Используете редакторы, нормально поддерживающие UTF-8 (найдёте в фак и в форумах).
Также можете попробовать провернуть метод, используемый при переезде с 4-й на 5-ю версию MySQL (тоже фак), т.к. при этом содержимое базы также переконвертируется в UTF-8.
Изображение
Marsupilami
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 9 месяцев
Забанен: Бессрочно

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

Сообщение Marsupilami »

На официальном сайте я не нашел никакой информации, способствующей бы установке форума, по этому я зашел на официальный форум этого хостера, где и увидел, что у людей стоят 21-е порты. Но судя по всему есть еще открытые порты.
Форточным блокнотом такое не провернуть. Используете редакторы, нормально поддерживающие UTF-8 (найдёте в фак и в форумах).
Также можете попробовать провернуть метод, используемый при переезде с 4-й на 5-ю версию MySQL (тоже фак), т.к. при этом содержимое базы также переконвертируется в UTF-8.
Хорошо, попробую, о результатах доложу.

Добавлено спустя 2 минуты 20 секунд:
Не подскажете название одной из них, поскольку я с самого утра сижу читаю FAQ-и, по 5-му кругу как то не очень охото... :)

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