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

Темы по наиболее часто задаваемым вопросам по phpBB 3.0.x. Читать в первую очередь!

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

Сообщение volset 10.09.2007 17:28

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

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

Возможное решение:
В корневой директории форума создайте файл .htaccess со следующим содержанием:
.htaccess
Код: Выделить всё
CharsetDisable On
CharsetDefault UTF-8
CharsetSourceEnc UTF-8


или
Код: Выделить всё
AddDefaultCharset UTF-8
volset
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 10.09.2007 17:21

Сообщение rxu 22.04.2008 16:58

15552
По проблемам с кодировкой есть FAQ-тема http://phpbbguru.net/community/viewtopi ... 735#194735 (на этой странице и раньше обсуждается то же самое.)

Добавлено спустя 15 минут 42 секунды:

Чему равно значение memory_limit в конфигурации PHP?
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение 15552 22.04.2008 20:01

да, я там сначала пролистал первые страницы и не нашёл своей проблемы, но сейчас перечитал тему полностью - моя проблема аналогична проблеме MDD, даже хостер один и тот же

Configuration
PHP Core
memory_limit 32M (local/master)

пока задизаблил utf8_normalize_nfc, посмотрим, что будет

Добавлено спустя 38 секунд:

возможно имеет смысл приклеить к тому топу мой...
15552
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 21.04.2008 23:09

Сообщение 15552 22.04.2008 20:09

извиняюсь, что сразу не заметил этой темы...

http://phpbbguru.net/community/viewtopic.php?t=20578 (перенесите посты сюда)

наверное будет интересно для статистики - моя проблема полностью аналогична проблеме MDD, даже хостер тот же, но у меня такая ошибка и на локалхосте вроде возникала
15552
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 21.04.2008 23:09

Сообщение rxu 22.04.2008 20:22

15552 писал(а):memory_limit 32M

Попробуйте сделать 128M, верните на место utf8_normalize_nfc и протестируйте.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение 15552 22.04.2008 20:40

в принципе попробую, но у меня эта проблема возникает крайне редко...

Добавлено спустя 12 минут 24 секунды:

возможно я что-то не правильно делаю, но пишу в .htaccess

php_value memory_limit 128M


параметры в конфигурации не изменяются
15552
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 21.04.2008 23:09

Сообщение rxu 22.04.2008 20:49

Возможно, такой трюк не разрешен хостером, спросите у него, как лучше изменить этот параметр.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение 15552 22.04.2008 21:01

отзвонил им - для моего тарифа не предусмотрено
15552
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 21.04.2008 23:09

Сообщение Merlin 25.04.2008 8:50

15552
Нас уже больше =)

rxu
Проверил у себя с memory_limit - не помогает. Пока что единственное решение комментить функцию. Правда сделали определенные тесты - сейчас работает апач 1.3.41 + mod_php 5.2.5 - в такой конфигурации глюк проявляется. В качестве теста запустили nginx с тем же php, но в режиме cgi - глюка нету... Теперь еще попытаемся проверить apache 1.3.41 + php + fast_cgi.
Если спросят: "Куда?", отвечай: "В никуда!",
Это правда, и в этом беда!
Аватара пользователя
Merlin
phpBB 1.4.2
 
Сообщения: 51
Зарегистрирован: 06.03.2005 7:24
Откуда: odessa.ua

Сообщение rxu 25.04.2008 17:09

А если ещё увеличить выделяемую память? Просто есть подозрение, что скрипту, по какой-то причине (возможно, при определенной, пока невыясненной точно конфигурации сервера), этой памяти не хватает, и он не отрабатывает как следует.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение Selestris 03.05.2008 20:45

Столкнулся с такой проблемой. Сообщения, содержащие символы ряда европейских языков (чешского, греческого и др.) отображаются на форуме нормально. Но вот в таблице _search_wordlist (поисковый индекс) вместо нестандартных символов идут знаки вопроса. И из-за этого невозможно восстановить базу данных из дампа - выдаётся сообщение Duplicate entry '????????' for key 2 для данной таблицы. И это при том, что для полей этой таблицы указано сравнение utf-8-bin. С phpbb2 такой проблемы вообще не возникало. Есть ли какой-то способ адекватно закодировать нестандартные символы других языков (не кириллица и не латиница) или вообще не включать их в поисковый индекс ?
Аватара пользователя
Selestris
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 07.03.2006 22:18
Откуда: Москва

Сообщение rxu 03.05.2008 20:55

При восстановлении не нужно включать в дамп поисковые таблицы. Вырезайте их содержимое из дампа и восстанавливайте, потом переиндексируйте.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение Selestris 03.05.2008 21:04

Можно, конечно, но хлопотно. Вручную вырезать поисковые индексы из дампа, потом ещё затрачивать много времени на их восстановление. С кодировкой windows-1251 было куда как проще.
Аватара пользователя
Selestris
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 07.03.2006 22:18
Откуда: Москва

Сообщение rxu 03.05.2008 21:15

С кодировкой 1251 было ровно то же самое.
Хлопотного тут мало. Либо не включать в дамп контент этих таблиц, либо вырезать из дампа - пятиминутное дело.
Время на переиндексацию, думаю, сравнимо со временем, которое вы потратите на восстановление поисковых таблиц из дампа, т.к. они занимают его подавляющую долю.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение Selestris 03.05.2008 21:37

Нет, с кодировкой 1251 не было ничего подобного. Нестандартные символы кодировались в сообщениях типа &#251 и т.д., и в поисковый индекс не включались. А в phpbb3 они в таблице постов лежат в Юникоде, как и должно быть, и отображаются нормально. И только в поисковом индексе почему-то допутимы только кириллица и латиница. Никакой логики. Может быть, в базе данных нужно поменять какие-то установки ? Но там и так сравнение utf-8-bin. Совершенно непонятна причина, почему в одной таблице символы нормально закодированы, а другой - знаки вопроса.

Конечно, поисковые индексы можно вручную вырезать из дампа. Но время на переиндексацию несопоставимо со временем восстановления базы данных из дампа. Восстановление из дампа - несколько секунд, реиндексация поисковых таблиц - несколько часов.
Аватара пользователя
Selestris
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 07.03.2006 22:18
Откуда: Москва

Сообщение rxu 03.05.2008 21:50

Selestris писал(а):Восстановление из дампа - несколько секунд

И какого размера этот дамп?
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4367
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Пред.След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0