我正在使用PHP
和MySQL
应用程序。
问题是:
如何以
MySQL
नवीन खेतिहर उपकरण।
可读格式或निलेस र पà¥à¤¬
格式存储数据当用户在文本框中输入数据并点击提交时,我们会得到不同格式的数据。
MySQL
如果我们转换并以可读格式存储,我们需要做什么。
选择 utf8 字符集和utf8_general_ci
排序规则。
显然,字段(您要存储印地语文本)的排序规则应该是utf8_general_ci
.
要更改表格字段,请运行
ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
连接到数据库后,首先运行以下语句
mysql_set_charset('utf8');
例如:
//setting character set
mysql_set_charset('utf8');
//insert Hindi text
mysql_query("INSERT INTO ....");
检索数据
//setting character set
mysql_set_charset('utf8');
//select Hindi text
mysql_query("SELECT * FROM ....");
在浏览器上打印任何 unicode 文本(比如印地语文本)之前,您应该必须通过添加元标记来设置该页面的内容类型
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
例如:
<!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>
更新:
mysql_query("SET CHARACTER SET utf8") has changed to
mysql_set_charset('utf8'); 这是更改字符集的首选方法。不推荐使用 mysql_query() 来设置(如 SET NAMES utf8)。见http://php.net/manual/en/function.mysql-set-charset.php *
ALTER TABLE <tablename> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
注意:您应该使用utf8_general_ci
而不是ut8_unicode_ci
,因为据说它更快。 utf8_general_ci 和 utf8_unicode_ci 有什么区别
无需使用字符集更改表。但你的数据库应该是 utf8_unicode_ci。
连接数据库时只需要添加这一行。" mysqli_set_charset($con, 'utf8')"
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
mysqli_set_charset($con, 'utf8');
mysqli_query($con, $sql);
将 COLLATE 转换为 utf8_general_ci 后,使用这一行 mysqli_set_charset($con, 'utf8'); 在您的查询下方的 $con 和 mysqli_query() 之间。
$con= mysqli_connect($host,$user,$pass,$db) or die('无法连接');
$sql="你的查询..";
mysqli_set_charset($con, 'utf8');
$result=mysqli_query($con,$sql);