2012-05-14 5 views
3

私はUnicodeとASCII文字の文字列を持っています。PHP - ASCIIからUnicodeを混在した文字列に変換する

utf8_decodeを使用してASCIIからUnicode文字に変換できますが、ユニコードをユニコード文字に変換することもできます。 ASCII文字のみをフィルタリングしたり、Unicodeに変換するにはどうすればよいですか?例えば

utf8_decode(& #225; rỉ); 
~> á rỉ 

答えて

3

2つのもの。 ASCII文字は7ビット、0x00〜0x7Fです。したがって、Unicode文字列を使用している場合、ASCII文字はUnicodeで同じであるため、変換する必要はありません。

ここで0xE1なので、ASCIIではなくISO Latin 1です。そして、あなたは1つの文字列に2つのエンコーディングを持つことはできません。あなたが必要とするのは、ISO Latin 1からUTF-8に変換することです。

-1

あなたは$string = iconv('ASCII//TRANSLIT','UTF-8', $string);

+0

-1入力は「ASCII // TRANSLIT」ではありません。 – tripleee

1

áを使用することができますがASCII文字ではありません。 ASCII charset table

これも試すことができます。

echo mb_convert_encoding('á rỉ', "UTF-8", "UTF-8"); 
関連する問題