Langsung ke konten utama

Menampilkan Huruf Arab Dan Karakter Unicode Lainnya Di Web Dengan PHP

Menampilkan tulisan arab, atau karakter unicode lainnya di web memang gampang-gampang susah. Karakter-karakter tersebut bisa tampil dalam wujud tanda tanya “????????????”, kadang tampilnya wajik-wajik, kadang juga berbentuk karakter aneh ala script yunani (memangnya script yunani itu seperti apa yah, saya juga tidak tahu. he he he).
Masalah bentrok charset (character set) seperti itu tidak hanya ditemui sekali atau dua kali.
Di kasus lain yang juga pernah terjadi, saat kita menulis karakter unicode itu di wordpress, tulisan-tulisan itu tampil dengan sempurna. Namun saat kita mengambil data postingan langsung dari database wordpress dan menampilkannya di bagian lain dari web yang terpisah dari wordpress, tampilannya kacau lagi seperti contoh diatas.

Bagaimana bisa begitu?

Selain karena faktor browser pengguna dan settingan regional komputernya, faktor lainnya adalah bentrok charset (character set). Entah itu encoding databasenya, headernya, maupun cara menampilkannya.

Solusinya?

Pastikan charset yang digunakan di database, charset header, dan charset yang digunakan untuk membaca database adalah menggunakan charset yang sama. Untuk karakter unicode, kita menggunakan charset utf8.
Mari dipraktekkan satu-satu menggunkan bahasa pemrograman PHP dan database MySql. Dalam hal ini, database yang akan saya pakai adalah databasenya wordpress.
1. Buka database MySql yang menyimpan karakter unicode. Pastikan charset/collation dari database, tabel, dan fieldnya adalah sesuai dengan font yang ingin ditampilkan. Untuk arabic, saya pakai utf8_unicode_ci.
Berikut ini adalah tampilan phpmyadmin:
database, tab “operations”


tabel, tab “operations”

field, edit

Jika sudah dipastikan database dan isinya* menggunakan utf8_unicode_ci, kita bisa melanjutkan membuat file php untuk memanggil salah satu record yang mengandung karakter unicode di database.
2. letakkan script berikut ini di awal file php yang bertugas menampilkan record database.
1header('Content-type: text/html; charset=utf-8');
3. pada saat connect ke db, pastikan pula menggunakan charset yang betul. (perhatikan yang di highlight)
$con = mysql_connect("localhost","username","password");
mysql_set_charset('utf8',$con);
mysql_select_db("pernikmu_wrdp1", $con);

Selesai.

Untuk meringkas 2 & 3, berikut ini contoh script untuk memanggil postingan dari database untuk ditampilkan di web.
<br />
<?php<br />
header('Content-type: text/html; charset=utf-8');<br />
$con = mysql_connect("localhost","username","password");<br />
mysql_set_charset('utf8',$con);<br />
mysql_select_db("wordpressdb", $con);<br />
$result = mysql_query("SELECT * FROM wp_posts LIMIT 0,1");<br />
$row = mysql_fetch_array($result);<br />
echo $row['post_content'];<br />
mysql_close($con);<br />
?><br />
Kemudian periksa hasilnya.

Masih belum bisa? Coba posting ulang

Bisa jadi karakter unicode sudah dimasukkan sebelum databasenya siap menerima karakter unicode (collationnya belum diset utf8_unicode_ci), sehingga tulisannya sudah nggak tau lagi deh gimana nasibnya. Jika hal itu terjadi, pastikan langkah-langkah di atas sudah dilalui dengan baik, kemudian insert ulang recordmu ke database.
Tidak lupa, pastikan pula browsermu memang bisa menampilkan karakter unicode tersebut. Jika tidak begitu, tidak ada gunanya. Browser hanya akan menampilkan text kotak-kotak :)

Sudah berhasil.. Lalu?

Ilmu diatas berguna saat anda butuh membangun website dengan klien dari luar negeri yang tulisannya tidak menggunakan huruf alfabet atau membutuhkan penulisan karakter khusus lainnya.
Bisa juga digunakan saat anda membangun situs yang butuh menggunakan campuran huruf alfabet dan tulisan asing, misalnya situs tutorial belajar Bahasa Arab. Sehingga web bisa menampilkan textnya dengan maksimal, tidak lagi harus menggunakan gambar, sebagai jurus pamungkas yang paling umum kita kenal (meskipun bisa juga bekerja dengan seperti itu).
Anyway busway, pernah sekali waktu saya coba hanya fieldnya saja yang collationnya diganti dan berhasil menampilkan font arabic dengan baik. Tapi pernah juga gagal jika yang dirubah hanya fieldnya saja. Hmm.. akan menarik sekali jika disini ada yang bisa memberi tahu saya cara kerjanya :D .
Good luck

sumber :http://rumahdot.com/web-programming/cara-menampilkan-huruf-arab-jepang-dan-china-di-website/

Komentar

Posting Komentar

Postingan populer dari blog ini

Mengatasi Sleep Pada Ubuntu

Beberapa saat yang lalu  saya dihadapkan pada kondisi bekerja pada laptop dengan mobilitas yang tinggi sehingga saya sering menghidupkan dan mematikan laptop. Masalahnya laptop saya yang saya install dengan OS Ubuntu tidak bisa sleep dan hibernate dengan sempurna . Ketika saya sleep laptop hanya black screen dengan waktu yang cukup lama sehingga harus saya matikan dengan paksa. Setelah saya cari-cari di internet bagaima mengatasi permasalah tersemut , saya menemukan tutorial yang itu bekerja pada laptop saya . Caranya adalah 1. Download file ini dulu  20_custom-ehci_hcd 2. Masukkan dalam folder  /etc/pm/sleep.d/ (harus pada root system) 3. Ganti hak aksesnya dengan peritah ini   : " sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd " Maka laptop saya bisa di sleep dan hibernate dengan baik . Pada kasus ini saya menggunakan Laptop Lenovo G40 AMD 8 . Semoga membantu :D Sumber : http://johny65corp.blogspot.co.id/2011/11/arreglar-suspenderhibernar-en-...

Memilih GCC (compiler) yang aktif

Pada sistem operasi  linux kita sering menemukan compiler (gcc, g++, dll) dan kadang kita bingung mana compiler yang aktif . Maka dari itu kita bisa mengaktifkan compiler mana dan versi berapa yang akan kita aktifkan . Untuk memilih compilernya kita ketikan perintah seperti ini pada terminal : sudo update - alternatives -- config gcc maka akan muncul  opsi compiler seperti ini : kita tinggal pilih compiler mana yang mau di aktifkan dengan memasukan nomor seperti gambar di atas , kemudian tekan enter , maka compiler akan terpilih . untuk mengechek versi compiler bisa kasih perintah seperti dibawah : # gcc -v semoga membantu :D