0

ロシア語の 'A' の utf-8 文字コードは 1040 (10 進数) です。Javascriptは正しく行います:

> 'А'.charCodeAt(0)
> 1040

しかし、PHPコード

<?php echo ord('А');?>

208 を返します。

私が持っているPHPコードの冒頭に注意してください:

mb_internal_encoding( 'UTF-8' );
setlocale( LC_CTYPE, 'ru_RU' );

PHP で UTF-8 文字のコーディングとデコードを実装するにはどうすればよいですか? ord?の代わりに別の関数を使用します。

4

2 に答える 2

2
<?php
    mb_internal_encoding('UTF-8');
    header('Content-Type: text/html; charset=UTF-8');
?>
<html>
    <head>
        <meta charset="UTF-8" />
    </head>
    <body>
    <?php
        $the_char   = 'А';
        $byte_1     = $the_char[0];
        $byte_2     = $the_char[1];
        print (ord($byte_1) - 192) * 64 + (ord($byte_2) - 128);
    ?>
    </body>
</html>
于 2014-03-22T08:54:10.137 に答える