|
|
|
| Проблема вкратце:
Есть двиг. Использует utf-8. Все в этой кодировке: база, скрипты, шаблоны, заголовки, метатеги. Как надо, короче. Но есть одна проблема: двиг устраивает геноцид на символы "ш" и "И". Именно маленькая "ш" и большая "И". Вместо них выводит "?квадратик". Из-за этого не работает RSS. Если в тексте, выводимом RSS нет этих символов - все ОК. Если есть - вообще поток ломается. (IE7 вообще отказывается выводить страницу).
Код на Perl. База MySQL, кодировка utf8_general_ci. Может, кто подскажет, как избавиться от напасти? | |
|
|
|
|
|
|
|
|
для: sms-send
(06.09.2007 в 20:07)
| | Да, уже натыкался на такие решения... мне тоже не помогает. Уже везде кодировка стоит какая надо, но все равно жрет "ш" и "И" :(
Вот уж не ожидал такого трабла... | |
|
|
|
|
|
|
|
для: SHAman
(07.09.2007 в 11:31)
| | Я вот чего не понимаю.
Сколько ни пытаюсь у себя эту ошику промоделировать - не выходит.
Ну нет её и всё.
Только что попробовал.
Server: mysql 5.0.18-max (win2k)
Client: Apache/1.3.33(Win32), php 5.1.1, php_mysql.dll, Api version: 4.1.7 | |
|
|
|
|
|
|
|
для: Trianon
(07.09.2007 в 11:49)
| |
<?php
mysql_connect('localhost', '******', '******************');
mysql_select_db('utfbase');
mysql_query("SET NAMES 'utf8'");
mysql_query("INSERT INTO tab SET fld1=0xD098D188, fld2=0xD098D188");
mysql_query("INSERT INTO tab SET fld1='\xD0\x98\xD1\x88', fld2='\xD0\x98\xD1\x88'");
for($res = mysql_query("SELECT * FROM tab");
$row= mysql_fetch_assoc($res);
)
{
foreach($row as $key =>$val)
echo "$key: $val<br/>";
}
?>
|
id: 1
fld1: Иш
fld2: Иш
id: 2
fld1: Иш
fld2: Иш
|
| |
|
|
|
|
|
|
|
для: Trianon
(07.09.2007 в 12:09)
| | Возможно, дело в версии. У меня Денвер с MySQL 4.116.
SET NAMES делал - не помогает. Может быть, проблема в том, что изначально база создавалась в cp1251_general_ci, а потом переводилась в юникод? | |
|
|
|
|
|
|
|
для: SHAman
(07.09.2007 в 12:22)
| | У меня тоже денвер. И что? Денвер - лишь комплект программ.
дамп структуры БД приведите пожалуйста. | |
|
|
|
|
|
|
|
для: Trianon
(07.09.2007 в 12:39)
| | Проблема решилась пересозданием базы. Видимо, где-то внутренний глюк произошел, когда я переводил базу из cp_1251 в utf8_general_ci. Удалил старую базу, создал новую и все заработало как надо.
Всем спасибо за участие. | |
|
|
|