Menukar Umlaut kepada Setara ASCII dalam Rentetan UTF-8
Masalah:
Ganti khas aksara, seperti umlaut, dalam rentetan UTF-8 dengan 7-bit terdekatnya bersamaan ASCII. Contohnya, "lärm" hendaklah menjadi "larm" dan "andré" hendaklah menjadi "andre."
Penyelesaian:
Menggunakan utf8_decode() dan strtr(), seperti yang ditunjukkan dalam coretan kod yang diberikan, ialah penyelesaian biasa. Walau bagaimanapun, jika fail sumber anda disimpan dalam UTF-8 dan anda tidak boleh memasukkan aksara ISO-8859-15, pendekatan yang lebih elegan tersedia.
Fungsi iconv() boleh digunakan untuk melakukan penukaran set aksara. Dengan menyatakan "ascii//TRANSLIT" sebagai set aksara sasaran, umlaut akan ditukar secara automatik kepada persamaan ASCIInya:
echo iconv("utf-8","ascii//TRANSLIT",$input);
Contoh Lanjutan:
Untuk menggambarkan penggunaan iconv(), pertimbangkan kod berikut:
$input = "lärm andré"; $output = iconv("utf-8","ascii//TRANSLIT",$input); echo $output; // Output: larm andre
Kod ini menukar semua umlaut dalam rentetan input kepada setara ASCII mereka.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Umlaut dengan Setara ASCII dalam Rentetan UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!