ウムラウトを UTF-8 文字列の同等の ASCII に変換する
問題:
特殊文字を置換UTF-8 のウムラウトなどの文字文字列とそれに最も近い 7 ビット ASCII 相当の文字列。たとえば、「lärm」は「larm」になり、「andré」は「andre」になるはずです。
解決策:
utf8_decode() と strtr() を使用します。指定されたコード スニペットで示されているように、これが一般的な解決策です。ただし、ソース ファイルが UTF-8 で保存されており、ISO-8859-15 文字を入力できない場合は、より洗練された方法を使用できます。
iconv() 関数を使用して文字セット変換を実行できます。ターゲット文字セットとして「ascii//TRANSLIT」を指定すると、ウムラウトは同等の ASCII 文字に自動的に変換されます:
echo iconv("utf-8","ascii//TRANSLIT",$input);
拡張例:
iconv() を使用する場合は、次の点を考慮してください。コード:
$input = "lärm andré"; $output = iconv("utf-8","ascii//TRANSLIT",$input); echo $output; // Output: larm andre
このコードは、入力文字列内のすべてのウムラウトを同等の ASCII に変換します。
以上がUTF-8 文字列のウムラウトを同等の ASCII 文字に置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。