[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 20:22

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

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

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

Около 25 M. База данных развёртывается примерно за 20 секунд.
Аватара пользователя
Selestris
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 07.03.2006 22:18
Откуда: Москва

Сообщение crash 04.05.2008 8:12

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

это если у вас есть доступ к серверу, а если нет, то лучше переиндексация
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6541
Зарегистрирован: 07.07.2004 17:12
Откуда: Мирный

Сообщение Selestris 04.05.2008 11:21

Обычный SSH-доступ.[/u]
Аватара пользователя
Selestris
phpBB 1.2.0
 
Сообщения: 14
Зарегистрирован: 07.03.2006 22:18
Откуда: Москва

Пред.След.

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

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

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