Kejap2 aku nak tanya dulu, foreign character tu apa?
Huhuhu sungguh gelojoh dirimu ini wahai sahabat, tapi takpe, oleh kerana ko dahagakan ilmu aku bagi jawapannya. Katakan kita ada satu website, selalunya website kita akan display character-character roman macam a b c dan adik2nya. Tapi, what if website kita ni perlu pulak display character-character lain macam character jepun ke, cina ke or bahasa Jawi? Itu la namanya foreign character dan kita perlu buat sesuatu sebelum web server kita boleh display aksara-aksara tersebut, contohnya ayat2 ini:
我叫莫哈末阿里,你呢?
اڤ كابر سموا
lǎo shī
Tak guna hurup roman kan? Dan ko pun tak boleh baca ….hahaha … tapi ada orang boleh baca ok? So kita perlu enable kan support ini pada webserver kita.
Kenapa ko ni baik sangat? Kalau aku, aku tak peduli …
Peduli atau tidak … pengguna sistem aku ada yang perlukan ciri ini. Jadi di bawah ini aku sertakan langkah-langkah untuk enablekan foreign character pada pelayan web.
Langkah 1: Setting pada Apache
Edit /etc/apache2/apache2.conf dan tambahkan ayat dibawah dihujung file.
AddDefaultCharset UTF-8
sudo echo “AddDefaultCharset UTF-8” >> /etc/apache2/apache2.conf
Langkah 2: Restart Apache
sudo /etc/init.d/apache2 restart
Langkah 1 dan 2 cuma bagitahu pada apache untuk display semua huruf menggunakan encoding UTF-8. Ini adalah memadai jika korang semua tidak menyimpan data/content di dalam database. Kalau ada database macam MySQL, sila sambung ke langkah seterusnya.
Bila kita menyimpan data di dalam database, kita perlu putuskan data ini disimpan mengunakan encoding apa. Ada banyak jenis encoding, tapi kalau korang nak display foreign character, MySQL perlu simpan data menggunakan encoding UTF-8. Jadi macam mana nak set? Folooo ….
Langkah 3: Setting pada MySQL
Edit file /etc/mysql/my.cnf dan insertkan ayat berikut pada section [client]
default-character-set = utf8
aku letak aku punya betul2 selepas option socket = /var/run/….
Langkah 4: Masih lagi setting pada MySQL
Edit file yang sama (/etc/mysql/my.cnf) dan insertkan ayat yang berikut pula pada section [mysqld]
default-character-set = utf8
default-collation = utf8_general_ci
Langkah 5: Restart MySQL
sudo /etc/init.d/mysql restart
Jadi selepas langkah2 diatas pelayan web korang semua sepatutnya sudah boleh display foreign character, clap! clap! clap!
Hm … macam mana nak test?
Nak test ek, kalau ko ada mekanisma untuk input kan foreign character, ko cuba je lah taip foreign character dan tengok samaada ianya didisplay atau tidak. Aku just visit website cina and arab (macam aljazeera) copy je perkataan arab kat situ, and then paste dekat aplikasi aku. Then aku submit masuk dalam database and try read balik tgk boleh display ke tidak. Kalau boleh bagitahu kawan, kalau tak boleh ko bagitahu aku, kita cuba solve sama2 …. huhuhu …
Takde disclaimer, kira safe la eh langkah-langkah ni?
Safe la sangat, macam biasa aku tak bertanggungjawab atas korupsi data yang mungkin terjadi keatas data dalam database korang semasa mengikuti langkah-langkah diatas. Aku dah cuba buat, so far tak de problem, jadi untuk keselamatan makhluk sejagat, sila backup database anda sebelum mengikuti langkah diatas, terima kasih.