Unicode と ASCII 文字を含む文字列があります。
ASCII を Unicode 文字に変換するために使用できますutf8_decode
が、Unicode を Unicode 文字に変換することもできます。混合文字列で ASCII 文字のみをフィルタリングまたは Unicode に変換するにはどうすればよいですか?
例えば:
utf8_decode(& #225; rỉ);
~> á rỉ
2つのこと。ASCII 文字は 7 ビット、0x00 ~ 0x7F です。したがって、Unicode 文字列を使用している場合、ASCII 文字は Unicode でも同じであるため、変換する必要はありません...
今、あなたの á は 0xE1 なので、ASCII ではなくISO Latin 1
. そして、1 つの文字列に 2 つのエンコーディングを含めることはできません (または、たわごとが発生しています....)。したがって、必要なのは ISO Latin 1 から UTF-8 に変換することです。
á は ASCII 文字ではありません。ASCII 文字セット テーブル
これを試すこともできます。
echo mb_convert_encoding('á rỉ', "UTF-8", "UTF-8");
あなたが使用することができます$string = iconv('ASCII//TRANSLIT','UTF-8', $string);