таблица соответсвия сиволов UTF-8 и win-1251

Руслан

Новичок
таблица соответсвия сиволов UTF-8 и win-1251

Декодирую символы win-1251 в UTF-8 для flash.

Использую таблицу соотвествия симоволов

PHP:
 $ttbl=array("А"=>"Рђ","Б"=>"Р‘","В"=>"Р’","Г"=>"Р“","Д"=>"Р”","Е"=>"Р•","Ё"=>"РЃ","Ж"=>"Р–","З"=>"Р—","И"=>"Р˜","Й"=>"Р™","К"=>"Рљ","Л"=>"Р›","М"=>"Рњ","Н"=>"Рќ","О"=>"Рћ","П"=>"Рџ","Р"=>"Р ","С"=>"РЎ","Т"=>"Рў","У"=>"РЈ","Ф"=>"Р¤","Х"=>"РҐ","Ц"=>"Р¦","Ч"=>"Р§","Ш"=>"РЁ","Щ"=>"Р©","Ъ"=>"РЄ","Ы"=>"Р«","Ь"=>"Р¬","Э"=>"Р_","Ю"=>"Р®","Я"=>"РЇ","Ї"=>"Р‡","І"=>"Р†","Є"=>"Р„","Ў"=>"РЋ","а"=>"Р°","б"=>"Р±","в"=>"РІ","г"=>"Рі","д"=>"Рґ","е"=>"Рµ","ё"=>"С‘","ж"=>"Р¶","з"=>"Р·","и"=>"Рё","й"=>"Р№","к"=>"Рє","л"=>"Р»","м"=>"Рј","н"=>"РЅ","о"=>"Рѕ","п"=>"Рї","р"=>"СЂ","с"=>"СЃ","т"=>"С‚","у"=>"Сѓ","ф"=>"С„","х"=>"С…","ц"=>"С†","ч"=>"С‡","ш"=>"С?","щ"=>"С‰","ъ"=>"СЉ","ы"=>"С‹","ь"=>"СЊ","э"=>"СЌ","ю"=>"СЋ","я"=>"СЏ","і"=>"С–","ї"=>"С—","є"=>"С”","ў"=>"Сћ","—"=>"-");

      $lentatxt=strtr($lentatxt, $ttbl);
Всё работает кроме большой Р, то есть для Р вариант неверен.
Кто знает какой вариант должен быть для Р? И как это можно узнать практическим путём?
 

Руслан

Новичок
Dovg
Пробовал через iconv, но почему то - не.. сейчас уже и не помню, что там за трабл при выводе флешем был. После этого сделал вот таким макаром - не работала только буква Р. Я даже не сразу заметил, потому что большая Р попадается не всегда. Стал делать другой модуль, решил исправлять эту ошибку позже. Вот сейчас ищу чем же там заместить надо Р, что бы flash её понимала верно. Сейчас она почему то читает её как П.
(Хм.. а что ж у меня там с iconv получилось? Сейчас попробую - отпишусь. )

zerkms
Блолкнотом что, проверить соответствие? Я кстати через браузер проверял - выходит, что вроде как у меня правильно - но flash почему то с этим не согласен.

-~{}~ 05.05.10 14:11:

Похоже что вопрос снимается. Iconv отработала, вроде как всё правильно. Может быть я в своё время затупил, когда пытался с ней делать.
Спасибо, Dovq. Как часто бывает проблемы кроются не за сложностью задачи, а за моими кривыми руками.
 

mity

Новичок
Если Вас чем то не устраивает iconv, то массив нужно задавать примерно так
PHP:
$ttbl=array(
  "А"=>chr(0x40).chr(0x02),
  "Б"=>chr(0x40).chr(0x03),
...
//За точность кодов букв А и Б я не ручаюсь.
или возьмите конвертацию из JsHttpRequest

Таким образом при сохранении php файла в любом текстовом редакторе, даже не поддерживающего русские буквы, массив всегда будет корректным.

"р"=>chr(0x40).chr(0x40),
"Р"=>chr(0x40).chr(0x20)
 
Сверху