Русские буквы в utf

Discussion in 'PHP' started by Doom123, 24 Dec 2011.

  1. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Привет всем! Возник вопрос.. как преоброзовать русские буквы в их эквавиленты на утф ..

    такого вида

    Code:
    u042eu0432u0430u043bu044c-u0428u0442u0430u0439u043du0438u0446-150x150.jpg
    Зарание благодарю!
     
  2. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    PHP:
    $s='u042eu0432u0430u043bu044cu0428u0442u0430u0439u043du0438u0446';
    foreach (
    explode('u'$s) as $q)
    echo 
    '&#'.hexdec($q).';';
    Не знаю насколько корректно, но как вариант.
     
    6 people like this.
  3. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    спасибо только мне наоборот нужно .. вот вроде чтото нашёл .. =)

    PHP:
    function utf16_urlencode $str ) {
            
    # convert characters > 255 into HTML entities
            
    $convmap = array( 0xFF0x2FFFF00xFFFF );
            
    $str mb_encode_numericentity$str$convmap"UTF-8");

            
    # escape HTML entities, so they are not urlencoded
            
    $str preg_replace'/&#([0-9a-fA-F]{2,5});/i''mark\\1mark'$str );
            
    $str urlencode($str);

            
    # now convert escaped entities into unicode url syntax
            
    $str preg_replace'/mark([0-9a-fA-F]{2,5})mark/i''%u\\1'$str );
            return 
    $str;
        }
     
    1 person likes this.
  4. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Не увидел, а если так:
    PHP:
    $str 'абсурд';
    for(
    $i=0;$i<strlen($str);$i++)
    {
    echo 
    '&#'.(848+ord($str{$i})).';';
    }
    Только нужно ввести ограничения, любой символ транслирует.
     
    #4 AnGeI, 24 Dec 2011
    Last edited: 24 Dec 2011
  5. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    AnGeI что не увидел?

    блин не то =\\ эта фция переводит ACII в Decimal ...

    вроде сделал ...

    PHP:
    function str_2_dechex $str ) {
            
    # convert characters > 255 into HTML entities
            
    $convmap = array( 0xFF0x2FFFF00xFFFF );
            
    $str mb_encode_numericentity$str$convmap"UTF-8");

            
    $str preg_replace'/&#([0-9a-fA-F]{2,5});/ei'"'u'.dechex(\\1)"$str );
            return 
    $str;
        }
     
    #5 Doom123, 24 Dec 2011
    Last edited: 24 Dec 2011