//
you're reading...
Codes, Database, PHP, Webs

Làm Việc Với Unicode Để Hiện Thị Tiếng Việt Trong PHP – MySQL

Khi lập trình và thiết kế website, để hiện thị được các nội dung bằng tiếng Việt, ta cần phần phải làm việc với cách sử dụng Unicode ra sao, tùy theo cách mà từng ngôn ngữ mà bạn đang sử dụng hỗ trợ. Trong lập trình website với PHP & MySQL cũng thế, để hiện thị được tiếng Việt đúng ta cần phải thiết lập Collation của database hay các table là utf8_unicode_ci để có thể lưu trữ dữ liệu là unicode và các tập tin hiện thị trang web phải được thiết lập tag meta trong phần head như sau:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Tiếp theo, khi bạn kết nối với CSDL ta cần phải cho biết csdl biết là bạn đang sử dụng loại dữ liệu nào:

<?php
	$maychu = 'localhost';
	$taikhoan = 'root';
	$matkhau = '1234';
	$csdl = 'TenCSDL';
	$ketnoi = mysql_connect($maychu, $taikhoan, $matkhau);
	mysql_query("SET character_set_results=utf8", $ketnoi);
	mb_language('uni');
	mb_internal_encoding('UTF-8');
	mysql_select_db($csdl, $ketnoi);
	mysql_query("set names 'utf8'",$ketnoi);
?>

Khi thêm và cập nhật dữ liệu, trước khi tiến hành thực hiện câu truy vấn Insert hay Update bạn cần phải cho csdl biết loại dữ liệu mà bạn muốn lưu trữ bằng 2 câu lệnh sau:

<?php
	mysql_query("SET character_set_client=utf8", $ketnoi);
	mysql_query("SET character_set_connection=utf8", $ketnoi);	
?>
<?php
	mysql_query("SET character_set_client=utf8", $ketnoi);
	mysql_query("SET character_set_connection=utf8", $ketnoi);
	$truyvan = "INSERT INTO TenBang (Truong1, Truong2) VALUES('giatri1', 'giatri2')";
	mysql_query($truyvan, $ketnoi);
?>

Còn khi bạn cần tìm kiếm hay truy vấn dữ liệu, ta chỉ cho csdl biết loại dữ liệu mà bạn cần sử dụng:

<?php
	mysql_query("SET character_set_results=utf8", $ketnoi);
	$truyvan = "SELECT * FROM TenBang WHERE id='$id'; ";
	$ketqua = mysql_query( $truyvan, $ketnoi);
?>

Như vậy, với 3 đoạn lệnh nhỏ PHP trên, bạn đã có thể làm việc với Unicode để có thể hiện thị được tiếng Việt ra trang web hay lưu trữ vào trong csdl.

~Fri3ng3R~

(Nguồn: http://www.tanzilo.com/2008/10/13/php-mysql-unicode-solution-to-chinese-russian-or-any-language/)

Advertisements

Discussion

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: