Pada suatu hari saya menerima email dari salah satu teman saya yang menanyakan bagaimana cara menyimpan tulisan Arab ke dalam MySQL.

Sepintas… dalam hati mengatakan, “Ah… mudah”… but ternyata cukup melelahkan dan membingungkan juga untuk mencari solusinya. Akan tetapi akhirnya juga terselesaikan 🙂

Pertama, saya coba mencari sampel tulisan Arab di internet. Setelah menemukan salah satu situs yang isinya terdapat tulisan Arab, saya kemudian mengcopy teks Arabnya, lalu disisipkan langsung ke tabel MySQL dengan PhpMyAdmin. Dalam tabel tersebut saya coba membuat satu buah field saja dengan tipe data Varchar.

CREATE TABLE arab (
   text varchar(100)
);

Photobucket

OK… insert tersebut berhasil, dan tulisan Arab telah tersimpan ke tabel.

Photobucket

Selanjutnya, saya coba untuk menampilkan tulisan Arab yang ada dalam tabel MySQL tersebut ke halaman web dengan script PHP. Tapi… apa yang keluar? Ternyata yang keluar adalah karakter ‘????????’.

Photobucket

Waduh… ada apa ini? Feeling saya kemudian mengatakan, ah… siapa tahu PhpMyAdminnya gak support untuk insert data karakter dalam format Arab. Trus.. saya coba lakukan hal yang sama (insert data) langsung via Navicat (interface untuk administrasi MySQL berbasis Windows seperti halnya PhpMyAdmin). Eh… ternyata hal yang sama muncul.

Beberapa kali browsing dan Googling untuk mencari referensinya, gak ketemu-ketemu juga. Ketemu sih beberapa penjelasan, namun tidak ada yang berhasil.

Setelah lelah mencari, akhirnya saya coba mencari ide lain yaitu membuat script untuk insert data tapi melalui form yang dibuat sendiri.

arab.php


<form method="post" action="showarab.php">
<textarea name="input"></textarea>
<input type="submit" value="submit" name="submit">
</form>

showarab.php

<?php

mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");

// membaca teks input
$input = $_POST['input'];

// menyimpan teks input ke tabel MySQL
$query = "INSERT INTO arab VALUES('$input')";
mysql_query($query);

// menampilkan teks yang tersimpan 
$query = "SELECT * ARAB arab";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
  echo $data['text']."<br>";
}
?>

Secara sekilas, script di atas sama seperti proses insert data biasa, demikian pula dengan mekanisme untuk menampilkan datanya.

Setelah itu, saya coba memasukkan tulisan arab ke dalam form yang saya buat lalu mensubmitnya.

Photobucket

dan hasilnya

Photobucket

He…3x akhirnya bisa juga tampil di halaman web.

Dengan demikian dapat disimpulkan bahwa jika ingin menyimpan tulisan Arab ke MySQL, jangan langsung menyisipkannya via PhpMyAdmin atau Navicat namun buat terlebih dahulu form untuk inputnya.

Mau tau bentuk karakter dari tulisan Arab yang tersimpan dalam tabel MySQL nya setelah melalui proses di atas? ini dia…

Photobucket

Hasil di atas hanya didasarkan atas eksperimen saja. Barangkali ada di antara Anda yang bisa selain dengan cara di atas?

 


Author

Comments

Write a Reply or Comment

Your email address will not be published.