За последние 24 часа нас посетили 26868 программистов и 1819 роботов. Сейчас ищут 950 программистов ...

преобразование

Тема в разделе "PHP для новичков", создана пользователем AniMEshKa, 22 янв 2008.

  1. AniMEshKa

    AniMEshKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    0
    Адрес:
    Минск
    как преобразовать текст написанный кирилицей
    к примеру
    Код (Text):
    1. $a="новый";
    в следующий вид (вставила пробелы. а то преобразовывалось)
    Код (Text):
    1. $a="& #1085;& #1086;& #1074;& #1099;& #1081;";
    ну в общем с кодировкой нужна какая-то махинация.. а то при выведении в первой случае пишет иероглифы.. а во втором всё нормально
    Спасибо!
     
  2. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    я вообще-то не понял что нужно... с кодировкой... функция...
    convert_cyr_string();
     
  3. AniMEshKa

    AniMEshKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    0
    Адрес:
    Минск
    с этой функцией пробывала.. но чт-то не помогло..
    пробывала с вот этими параметрами :
    k - koi8-r;
    w - windows-1251;
    i - iso8859-5;
    a - x-cp866;
    d - x-cp866;
    m - x-mac-cyrillic;
    наверное всё же не эту функцию использовать надо.. не помогло :(
     
  4. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    не не... эта не та функция.. я просто не понял, что хотелось... в твоем случае советую взглянуть сюда:
    http://zhilinsky.ru/2007/08/10/php-unicode/
     
  5. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    запись вида & #1074;- это если не ошибаюсьтэто кодировка Unicode. Следовательно тебе надо конвертировать кирилицу в Unicode. Вот в ссылке, что я дал, там должен быть готовый скрипт... посмотри...
     
  6. AniMEshKa

    AniMEshKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    0
    Адрес:
    Минск
    по ходу я хочу преобразовать в десятичный юникод своё русское слово.. и занести обратно в переменную.. вот..
    в php5 вроде бы есть функции преобразующие в юникод .. а у меня пхп4 .. возможно что-либо сделать в этом случае?
     
  7. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    ага у меня тоже 4 версия... поэтому несработали функции Unicode_encode() =)))
    Да кажется возможно... взять каждую букву в слове и заменить на символы в юникоде.
     
  8. AniMEshKa

    AniMEshKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    0
    Адрес:
    Минск
    большое спасибо!! всё получилось :)
     
  9. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    ага у меня тоже 4 версия... поэтому несработали функции Unicode_encode() =)))
    Да кажется возможно... взять каждую букву в слове и заменить на символы в юникоде.

    Наверное вот так:
    PHP:
    1. <?
    2. $a="новый";
    3.  $encode= strtr($a, array(
    4.     'н'=>"& #1085;",   'о'=>"& #1086;",   'в'=>"& #1074;",   'ы'=>"& #1099;",   'й'=>"& #1081;",  
    5.   ));
    6.  
    7. ?>
    но всетаки же это оч тупой вариант, т.к. если убрать пробел то он автоматически преобразуется в букву...
     
  10. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    AniMEshKa
    а можно узнать каким способом сделала?
     
  11. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  12. AniMEshKa

    AniMEshKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    0
    Адрес:
    Минск
    ну использовала функцию из тех что вы дали.. вот я остановилась на этой
    Код (Text):
    1. function win_utf8 ($in_text){
    2.     $output="";
    3.     $other[1025]="Ё";
    4.     $other[1105]="ё";
    5.     $other[1028]="Є";
    6.     $other[1108]="є";
    7.     $other[1030]="I";
    8.     $other[1110]="i";
    9.     $other[1031]="Ї";
    10.     $other[1111]="ї";
    11.  
    12.     for ($i=0; $i<strlen($in_text); $i++){
    13.         if (ord($in_text{$i})>191){
    14.              $output.="&#".(ord($in_text{$i})+848).";";
    15.         } else {
    16.             if (array_search($in_text{$i}, $other)===false){
    17.                  $output.=$in_text{$i};
    18.             } else {
    19.                  $output.="&#".array_search($in_text{$i}, $other).";";
    20.              }
    21.         }
    22.     }
    23.     return $output;
    24. }
    25. $a="новый";
    26. $a=win_utf8($a);
     
  13. Adil

    Adil Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    280
    Симпатии:
    0
    ясно=)))