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

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

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

Сообщение volset 10.09.2007 16: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 16:21


Сообщение khaxel 05.03.2008 19:53

Rayden писал(а):Многие хостинги, особенно старые, принудительно ставят так называемый "русский апач", который осуществляет принудительную перекодировку в кои8 или вин1251.
Естественно, что новейшие скрипты, работающие с ютф такого безобразия не понимают, поэтому у нас должна быть возможность через htaccess управлять перекодировкой или отключать ее совсем.

Но если дело только в перекодировке, то ведь должна же быть закономерность! А ее нет! Я сабмичу один и тот же текст, а результат не предсказуем и текст херится не целиком, а как-то избирательно, то сначала, то в середине, то в конце.
Самое хреновое тут то, что невозможно точно сказать чья это вина - апача или phpBB.
khaxel
phpBB 1.0.0
 
Сообщения: 7
Зарегистрирован: 02.03.2008 16:38

Сообщение Rayden 05.03.2008 22:00

Апача конечно. И связки php+mysql
phpBB не умеет перекодировать, в нем это не заложено.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 2578
Зарегистрирован: 27.06.2005 0:07

Сообщение khaxel 06.03.2008 0:59

Rayden писал(а):Апача конечно. И связки php+mysql
phpBB не умеет перекодировать, в нем это не заложено.

Тогда как объяснить тот ФАКТ что при вырубании функции utf8_normalize_nfc
Код: Выделить всё
function utf8_normalize_nfc($strings)
{   return $strings;

эффект пропадает?
Получается что именно phpBB занимается какой-то перекодировкой !?
khaxel
phpBB 1.0.0
 
Сообщения: 7
Зарегистрирован: 02.03.2008 16:38

Сообщение Rayden 06.03.2008 1:15

Unicode Normalization
If you retrieve user input with multibyte characters you should additionally normalize the string using utf8_normalize_nfc() before you work with it. This is necessary to make sure that equal characters can only occur in one particular binary representation. For example the character Å can be represented either as U+00C5 (LATIN CAPITAL LETTER A WITH RING ABOVE) or as U+212B (ANGSTROM SIGN).

Тебе объяснение нужно? Ну например форум пытается проверить то, что ты ему подсовываешь на соответствие ютф и по возможности исправить несоответствие, но давится тем что ты ему подсовываешь.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 2578
Зарегистрирован: 27.06.2005 0:07

Сообщение khaxel 06.03.2008 1:28

Стоит заметить, что при этом все (и апач, и php, и mysql, и я :) ) довольны тем что я ему подсовываю, кроме его функции!
И именно phpBB портит всех устраивающую инфу!
Неправда ли?
khaxel
phpBB 1.0.0
 
Сообщения: 7
Зарегистрирован: 02.03.2008 16:38

Сообщение Rayden 06.03.2008 4:46

Ну ты еще обидься на него или на дуэль вызови.

У меня был один чудак на форуме, он после переезда на олимпус заявлял следующее: если на старом форуме у него все работало, то значит у него все ок, а на новом у него проблемы с куками, значит виноват форум. И все мои заявления, что проблемы только у него одного, а у всех остальных нормально, и что вообще опера восьмая это не комильфо до него не доходили. Он обиженный так и ушел, заявляя, что не вернется пока я старый форум не верну.
Вот ты сейчас мне его напоминаешь.

Апач насколько я понимаю вообще тупо вываливает на экран все то, что ему подсовывают и ему пофиг на кодировки - тебе выводимый текст читать, а не ему.
Еще раз говорю - у тебя htaccess не позволяет менять кодироку - это плохо! Если бы хотя бы апач был собран с ютф по умолчанию, это было бы не актуально, а раз он у тебя выплевывает то так то так, это хреново.
Поэтому AD и сказал тебе про смену хостинга. И я не вижу смысла продолжать дальше тебя убеждать. Настрой апач правильно и будет тебе счастье.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 2578
Зарегистрирован: 27.06.2005 0:07

Сообщение khaxel 06.03.2008 12:48

Rayden писал(а):Ну ты еще обидься на него или на дуэль вызови.
У меня был один чудак на форуме, он после переезда на олимпус заявлял следующее: если на старом форуме у него все работало, то значит у него все ок, а на новом у него проблемы с куками, значит виноват форум. И все мои заявления, что проблемы только у него одного, а у всех остальных нормально, и что вообще опера восьмая это не комильфо до него не доходили. Он обиженный так и ушел, заявляя, что не вернется пока я старый форум не верну.
Вот ты сейчас мне его напоминаешь.

Примерно за такое лирическое отступление ты мне предупреждение на днях впаял :))
Вообще-то я все эти разговоры веду не для того что бы на кого-то обижаться или кому-то доказывать, что phpBB не совершенен в условиях отечественного хостингово "бездорожья", а лишь для того чтобы решить проблему и получить работоспособный форум у себя на сайте.
Rayden писал(а):Апач насколько я понимаю вообще тупо вываливает на экран все то, что ему подсовывают и ему пофиг на кодировки - тебе выводимый текст читать, а не ему.

Вот вот, только апач вываливает похеренный текст после того как с текстом phpBB поколдует.
Rayden писал(а):Еще раз говорю - у тебя htaccess не позволяет менять кодироку - это плохо! Если бы хотя бы апач был собран с ютф по умолчанию, это было бы не актуально, а раз он у тебя выплевывает то так то так, это хреново.
Поэтому AD и сказал тебе про смену хостинга. И я не вижу смысла продолжать дальше тебя убеждать. Настрой апач правильно и будет тебе счастье.

На этот счет я веду активные переговоры с хостером, но сам понимаешь как просто заставить их переконфигурировать апач.

Да, еще было бы интересно услышать кто на каких хостингах столкнулся с подобной проблемой, на тот случай если дело дойдет до переезда. У меня все это происходит на ht-systems. И у RWinner на сколько я понимаю там же.
khaxel
phpBB 1.0.0
 
Сообщения: 7
Зарегистрирован: 02.03.2008 16:38

Сообщение Палыч 06.03.2008 13:15

Господа, это всё здорово, но тема, всё-таки, FAQ, и ваши дебаты тут "не в тему"
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6492
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер

Сообщение Cefero 08.03.2008 2:32

хм, думаю мне сюда.
В общем вопросец такой имееться форум 3.0 Олимпус, и есть страничка которая выводить инфу из одного топика.
В общем проблема в следующем. На этой страничке пишуться вопросики за место тектста который должен браться с БД форума, хотя на форуме всё впорядке и прекрасно отображаеться.
В чем я не прав?
Cefero
phpBB 1.2.0
 
Сообщения: 12
Зарегистрирован: 02.01.2008 15:26

Сообщение crash 08.03.2008 17:43

Cefero писал(а):В чем я не прав?

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

Сообщение Cefero 08.03.2008 18:06

crash
crash писал(а):кодировка странички?

Пробовал ставить windows-1251 и utf-8 но всё остаеться без изменений :(

MySQL-кодировка: UTF-8 Unicode (utf8)

Форум работает на 5+
Cefero
phpBB 1.2.0
 
Сообщения: 12
Зарегистрирован: 02.01.2008 15:26

Сообщение rxu 08.03.2008 20:29

Cefero
Дайте ссылку на эту страницу.
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4621
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск

Сообщение Cefero 09.03.2008 5:28

rxu
http://sevensky.1gb.in/tmp.php

собсно код

Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Седьмое небо</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?
include ("./phpBB3/config.php");
if(!mysql_connect("", $dbuser, $dbpasswd))
      {
         echo "Ошибка подключения к базе данных";
         exit;
      }
      
@mysql_select_db($dbname);

      $r=mysql_query("select * from phpbb_posts where topic_id = 2 ORDER BY post_time DESC");
      
      for ($i=0; $i<mysql_num_rows($r); $i++)
      {
         $f=mysql_fetch_array($r);
         echo"<table border=0 width=96%>";
         echo"<tr>";
         echo"<td align=left class=style2>$f[post_text]</td>";
         echo"</tr>";
         echo"<tr>";
         echo"<td align=right class=style3> Добавленно ".date( 'd.m.y', $f['post_time'])."</td>";
         echo"</tr>";
         echo"</table><hr align=center width=98% />";
      }
      mysql_close();
   echo"<a href=phpBB3/index.php>ФОРУМ</a>";
?>
</body>
</html>


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

с хттаксесом пробовал ничего не получилось
Cefero
phpBB 1.2.0
 
Сообщения: 12
Зарегистрирован: 02.01.2008 15:26

Сообщение rxu 09.03.2008 7:00

Ясно Ваш вопрос не по теме. Думаю, тут нужный вам случай http://phpbbguru.net/community/viewtopic.php?t=19417
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4621
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск

Сообщение ыйо 16.03.2008 16:49

Хочу добавить от себя, раз уж здесь пошёл спор в выявлении плоскости проблемы, что mySQL здесь абсолютно не причём по той простой причине, что при нажатии кнопки "предварительный просмотр" через раз лезет известная беда. Какой здесь mySQL, если сообщение ещё не дошло до базы?
ыйо
phpBB 1.2.0
 
Сообщения: 11
Зарегистрирован: 14.03.2008 21:01

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 0