我正在为应用程序使用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
,因为据说它更快。什么';s utf8_general_ci和utf8_unicode_ci 之间的差异
不需要用字符集来更改表。但是您的数据库应该使用utf8_unicodeci。
而连接数据库只需要添加这一行。"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)或die("无法连接");
$sql="您的查询..";
mysqli_set_charset($con,'utf8');
$result=mysqli_query($con,$sql);