Selain pengaturan default_charset
di php.ini, Anda dapat mengirim charset yang benar menggunakan header()
dari dalam kode Anda, sebelum output apa pun:
header('Content-Type: text/html; charset=utf-8');
Bekerja dengan Unicode dalam PHP itu mudah selama Anda menyadari bahwa sebagian besar fungsi string tidak bekerja dengan Unicode, dan beberapa mungkin membuat string sepenuhnya . PHP menganggap "karakter" panjangnya 1 byte. Terkadang ini baik-baik saja (misalnya, explode()
hanya mencari urutan byte dan menggunakannya sebagai pemisah - jadi tidak masalah karakter aktual apa yang Anda cari). Tetapi di lain waktu, ketika fungsi sebenarnya dirancang untuk bekerja pada karakter , PHP tidak tahu bahwa teks Anda memiliki karakter multi-byte yang ditemukan dengan Unicode.
Pustaka yang bagus untuk diperiksa adalah phputf8 . Ini menulis ulang semua fungsi "buruk" sehingga Anda dapat bekerja dengan aman pada string UTF8. Ada ekstensi seperti ekstensi mbstring yang mencoba melakukan ini untuk Anda juga, tapi saya lebih suka menggunakan perpustakaan karena lebih portabel (tapi saya menulis produk pasar massal, jadi itu penting bagi saya). Tetapi phputf8 dapat menggunakan mbstring di belakang layar, untuk meningkatkan kinerja.
utf-8
untuk masing-masing secara terpisah - MySQL 5, PHP 5 ATAU Apache 2.