Преобразовать русский текст

LittleDen

Новичок
Преобразовать русский текст

Приветствую, уважаемые!

Решил предоставлять информацию со своего сайта через wap. Написал запросы, отсылаю заголовки -- всё в порядке. Проблема в следующем -- тексты в базе данных лежат в win1251, вывод "как есть" в wap-браузер его конкретно корёжит. Экспериментально выяснено, что нормально отображается текст в виде &#xxxx (не помню, как называется сия кодировка, вроде "Западноевропейская").

Поэтому вопрос -- как наиболее быстро слово "Привет!" превратить в "
PHP:
Привет!
"?

Заранее спасибо!
 

Alkinoy

Guest
Берешь в цикле по одной букве и через switch
 

sergo_stavropol

Guest
С помощью ф-ий php можно реплэйсить спец.символы
для всех символов - напиши свою ф-ию
 

LittleDen

Новичок
KostyaCat, convert_cyr_string совершенно не катит. Либо будьте любезны указать "выходную" кодировку.
Насчёт iconv сейчас гляну, спасибо. :)
 

tony2001

TeaM PHPClub
я же дал ссылки.
ну неужели так сложно кликнуть и прочесть строку текста?
или маны читают только ламеры?

кодировку укажи ему, блин.

PHP:
htmlentities("Привет",ENT_QUOTES,"win-1251");
 

LittleDen

Новичок
Я же прочитал ссылки...
Результат -- ошибка.
"charset `win-1251' not supported, assuming iso-8859-1"
phpinfo() сообщает: "PHP Version 4.3.0"
Вместо "win-1251" пробовалось и "cp1251" -- монопенисуально.
 

tony2001

TeaM PHPClub
нет, народ, я сегодня просто офигеваю.
дал ссылку - человек даже не потрудился зайти.
еще раз указал на ссылку - прочел, но до половины.

LittleDen
win-1251 - Windows-specific Cyrillic charset. This charset is supported in 4.3.2.
мне нужно вслух мануал читать?

кроме того, 4.3.0 - УЖЕ устарела. пора обновиться до последнего релиза.
 

LittleDen

Новичок
Автор оригинала: tony2001
нет, народ, я сегодня просто офигеваю.
дал ссылку - человек даже не потрудился зайти.
еще раз указал на ссылку - прочел, но до половины.

LittleDen

мне нужно вслух мануал читать?

кроме того, 4.3.0 - УЖЕ устарела. пора обновиться до последнего релиза.
Спокойствие, только спокойствие...
Идём на http://ru3.php.net/htmlentities -- это та самая ссылка, что ты дал.
Читаем:
Код:
Following character sets are supported in PHP 4.3.0 and later.
Ниже идёт таблица, в которой есть упоминание и о cp1251.
Ну и где я неправ?
 

tony2001

TeaM PHPClub
Following character sets are supported in PHP 4.3.0 and later.

Таблица 2. Supported charsets
Charset Aliases Description
ISO-8859-1 ISO8859-1 Western European, Latin-1
ISO-8859-15 ISO8859-15 Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1(ISO-8859-1).
UTF-8 ASCII compatible multi-byte 8-bit Unicode.
cp866 ibm866, 866 DOS-specific Cyrillic charset. This charset is supported in 4.3.2.
cp1251 Windows-1251, win-1251, 1251 Windows-specific Cyrillic charset. This charset is supported in 4.3.2.
cp1252 Windows-1252, 1252 Windows specific charset for Western European.
KOI8-R koi8-ru, koi8r Russian. This charset is supported in 4.3.2.
BIG5 950 Traditional Chinese, mainly used in Taiwan.
GB2312 936 Simplified Chinese, national standard character set.
BIG5-HKSCS Big5 with Hong Kong extensions, Traditional Chinese.
Shift_JIS SJIS, 932 Japanese
EUC-JP EUCJP Japanese
по секрету тебе скажу, что ты сейчас споришь с человеком, который эти кодировки и добавил.
наверное он немного в курсе о том, когда они были добавлены, как ты считаешь?
 

LittleDen

Новичок
Ну, звиняйте, батьку! В одном месте одно написано, в другом -- другое... :(
У хостера 4.3.4. Сейчас проверил там этот фрагмент -- работает. Всем огромное спасибо!
 

tony2001

TeaM PHPClub
>>Following character sets are supported in PHP 4.3.0 and later.
>В одном месте одно написано, в другом -- другое...

4.3.3 - это later.
как в рекламе - "скидки до 70%!".
так вот, 1% - это "до 70%", а 4.3.3 - это после 4.3.0
 

gsm

Guest
tony2001 а у меня 4.3.3
и при таком коде:
PHP:
<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>
Выводиться просто A 'quote' is <b>bold</b>
В чем проблема?
 
Сверху