Konversi Non Latin Karakter ke dalam Unicode


Misalkan kita mempunyai karakter Thai seperti ini หนึ่งร้อย (kira-kira artinya seratus).

Jika aplikasi editor kita tidak mendukung Unicode, maka ketika kita mencoba menuliskannya (copy paste) maka yang tampil adalah karakter ??? (tanda tanya).


Untuk mengubah karakter หนึ่งร้อย ke dalam bentuk Unicode, kita bisa menggunakan native2ascii dari Java. Di Windows bisa ditemukan di C:\Program Files\Java\jdkJAVAVERSION\bin\native2ascii.exe.

Cara penggunaannya adalah

  1. Copy paste tulisan non latin หนึ่งร้อย ke dalam notepad.
  2. Save As, pilih Encoding UTF-8. Misalkan di simpan di C:\thai.txt
  3. Dari command prompt ketik native2ascii -encoding utf8 c:\thai.txt c:\thai-output.txt
  4. Buka file c:\thai-output.txt, hasil konversinya adalah \ufeff\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e49\u0e2d\u0e22

Untuk menampilkannya menggunakan Coldfusion, dapat dilakukan dengan cara seperti ini

<!--- variable yang akan menampung hasil konversi --->
<cfset output = "">
<!--- unicode string, dianggap sebagai sebuah list dengan delimiter \u --->
<cfset LstUnicodeString = "\ufeff\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e23\u0e49\u0e2d\u0e22">

<!--- loop konversi --->
<cfloop list="#LstUnicodeString#" index="UnicodeString" delimiters="\u">
	<!--- 
		karena InputBaseN mengkonversi string berdasarkan radix,
		maka yang kita ambil hanya 4 karakter dari masing-masing
		karakter unicode, dengan radix 16 (hexadesimal)
		dapat dilihat bahwa \u adalah melambangkan sebagai karakter unicode
		nilai integer yang dihasilkan InputBaseN dikonversi lagi 
		ke dalam karakter UCS-2
	--->
	<cfset output &= Chr(InputBaseN(UnicodeString, 16))>
</cfloop>

#output#

catatan: \ufeff sepertinya selalu ada ketika melakukan konversi, sebagai contoh ドラゴンボール (Dragon Ball) dikonversikan menjadi \ufeff\u30c9\u30e9\u30b4\u30f3\u30dc\u30fc\u30eb

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: