如何以hindi语言以unicode存储数据

nil*_*esh 11 php mysql unicode hindi

我正在使用PHPMySQL申请.

问题是:

  1. 如何以MySQL ???? ?????? ??????可读格式或निलेस र पà¥à¤¬格式存储数据

  2. 当用户在文本框中输入数据并单击提交时,我们会以不同的格式获取数据.如果我们MySQL以可读格式转换和存储,我们需要做什么.

raj*_*ndy 21

选择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;
Run Code Online (Sandbox Code Playgroud)

连接到数据库后,首先运行以下语句

mysql_set_charset('utf8');
Run Code Online (Sandbox Code Playgroud)

例如:

//setting character set
mysql_set_charset('utf8');

//insert Hindi text
mysql_query("INSERT INTO ....");
Run Code Online (Sandbox Code Playgroud)

检索数据

//setting character set
mysql_set_charset('utf8');

//select Hindi text
mysql_query("SELECT * FROM ....");
Run Code Online (Sandbox Code Playgroud)

在浏览器上打印任何unicode文本(比如印地语文本)之前,您必须通过添加元标记来设置该页面的内容类型

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

例如:

<!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>
Run Code Online (Sandbox Code Playgroud)

更新:

mysql_query("SET CHARACTER SET utf8") has changed tomysql_set_charset( 'UTF8'); 这是更改charset的首选方法.建议不要使用mysql_query()来设置它(例如SET NAMES utf8).见http://php.net/manual/en/function.mysql-set-charset.php*