mb_internal_encoding('UTF-8')tidak melakukan apa pun dengan sendirinya, itu hanya menetapkan parameter penyandian default untuk setiapmb_fungsi. Jika Anda tidak menggunakanmb_fungsi, tidak ada bedanya. Jika ya, masuk akal untuk mengaturnya sehingga Anda tidak harus melewati$encodingparameter setiap kali secara individual.- IMO
mb_detect_encodingsebagian besar tidak berguna karena pada dasarnya tidak mungkin untuk secara akurat mendeteksi pengkodean teks yang tidak dikenal. Anda harus mengetahui pengkodean gumpalan teks karena Anda memiliki spesifikasi tentangnya, atau Anda perlu mengurai data meta yang sesuai seperti header atau tag meta tempat pengkodean ditentukan. - Menggunakan
mb_check_encodinguntuk memeriksa apakah gumpalan teks valid dalam penyandian yang Anda harapkan biasanya sudah cukup. Jika tidak, buang dan berikan kesalahan yang sesuai. -
Tentang:
Jika Anda memanipulasi string yang berisi karakter multibyte, maka ya, Anda perlu menggunakan
mb_berfungsi untuk menghindari mendapatkan hasil yang salah. Fungsi string inti hanya berfungsi pada level byte, bukan level karakter, yang biasanya Anda inginkan saat bekerja dengan string. utf8_general_civs.utf8_binhanya membuat perbedaan saat mengumpulkan , yaitu menyortir dan membandingkan string. Denganutf8_bindata diperlakukan dalam bentuk biner, yaitu hanya data identik yang identik. Denganutf8_general_cibeberapa logika diterapkan, mis. "é" mengurutkan bersama-sama dengan "e" dan huruf besar dianggap sama dengan huruf kecil.