Chọn bộ ký tự utf8 và utf8_general_ci
đối chiếu.
Rõ ràng, đối chiếu của trường (mà bạn muốn lưu trữ văn bản tiếng Hindi) phải là utf8_general_ci
.
Để thay đổi trường bảng của bạn, hãy chạy
ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
Khi bạn đã kết nối với cơ sở dữ liệu, trước tiên hãy chạy câu lệnh sau
mysql_set_charset('utf8');
Vd:
//setting character set
mysql_set_charset('utf8');
//insert Hindi text
mysql_query("INSERT INTO ....");
Để truy xuất dữ liệu
//setting character set
mysql_set_charset('utf8');
//select Hindi text
mysql_query("SELECT * FROM ....");
Trước khi in bất kỳ văn bản unicode nào (ví dụ văn bản tiếng Hindi) trên trình duyệt, bạn phải đặt loại nội dung của trang đó bằng cách thêm thẻ meta
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Vd:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example Unicode</title>
</head>
<body>
<?php echo $hindiText; ?>
</body>
</html>
Cập nhật :
mysql_query("SET CHARACTER SET utf8") has changed to
mysql_set_charset ('utf8'); Đây là cách ưu tiên để thay đổi bộ ký tự. Không nên sử dụng mysql_query () để đặt nó (chẳng hạn như SET NAMES utf8). Xem http://php.net/manual/en/ Chức năng. mysql-set-charset.php
*