ホームページ >バックエンド開発 >PHPチュートリアル >UTF-8 文字列のウムラウトを同等の ASCII 文字に置き換えるにはどうすればよいですか?

UTF-8 文字列のウムラウトを同等の ASCII 文字に置き換えるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-29 19:46:14393ブラウズ

How to Replace Umlauts with ASCII Equivalents in UTF-8 Strings?

ウムラウトを 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。