Javascript 印地语文本在网页上正确显示,但在mysql数据库中错误插入

Javascript 印地语文本在网页上正确显示,但在mysql数据库中错误插入,javascript,mysql,ajax,unicode,utf-8,Javascript,Mysql,Ajax,Unicode,Utf 8,我使用ajax请求将值从客户端发送到服务器端,以便使用ajax请求更新mysql数据库。该值以印地语表示हिन्दी मतलब जाने. 但在客户端,当我向它发出警报时,我会得到如上所示的印地语文本,但在服务器端请求被处理后,它会作为“警报”插入数据库中……而如果我在javascript中使用“警报”进行请求。响应文本则正确显示为“警报”हिन्दी मतलब जाने. 现在,如果我再次加载页面,更新后的值将显示为¨ÃÃÃÃÃÃÃÃÃÃÃÃèÃ。。。但以前未更新的值正确显示为हिन्दी

我使用ajax请求将值从客户端发送到服务器端,以便使用ajax请求更新mysql数据库。该值以印地语表示हिन्दी मतलब जाने. 但在客户端,当我向它发出警报时,我会得到如上所示的印地语文本,但在服务器端请求被处理后,它会作为“警报”插入数据库中……而如果我在javascript中使用“警报”进行请求。响应文本则正确显示为“警报”हिन्दी मतलब जाने. 现在,如果我再次加载页面,更新后的值将显示为¨ÃÃÃÃÃÃÃÃÃÃÃÃèÃ。。。但以前未更新的值正确显示为हिन्दी मतलब जाने.

我在客户端使用了

var requestDatah = "values=" +
escape(valued) +"&texts=" +
encodeURIComponent(texted);
    request1h[k].setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8;");
    request1h[k].send(requestDatah);
在服务器端头上使用php

<?php header("Content-Type: text/html; charset=utf-8");
mysqli_set_charset($con,"utf8");

请帮助我如何在mysql中正确存储和显示?

选择utf8字符集和utf8\u常规\u ci排序规则

显然,要存储印地语文本的字段的排序规则应该是utf8\U general\U ci

要更改表字段,请运行

 ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>`   VARCHAR(100) 
 CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
例如:

检索数据

 //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" />

这是更改字符集的首选方法。不建议使用mysql_查询设置它,例如设置名称utf8。请参见*

选择utf8字符集和utf8\u常规\u ci排序规则

显然,要存储印地语文本的字段的排序规则应该是utf8\U general\U ci

要更改表字段,请运行

 ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>`   VARCHAR(100) 
 CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
例如:

检索数据

 //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" />

这是更改字符集的首选方法。不建议使用mysql_查询设置它,例如设置名称utf8。请参见*

表格定义是什么样的?能否在查询字符长度字段中包含该字段,并在浏览器中显示该结果,然后查看该长度是否与原始文本或错误文本对应?这将让我们确定它是否被错误地存储,或者在从数据库检索后被错误地转换。让我们看看插入了什么-请选择col,HEXcol from tbl WHERE。。。;可能是插入正确,但显示不正确。表定义是什么样的?能否在查询字符长度字段中包含该字段,并在浏览器中显示该结果,然后查看该长度是否对应于原始文本或错误文本?这将让我们确定它是否被错误地存储,或者在从数据库检索后被错误地转换。让我们看看插入了什么-请选择col,HEXcol from tbl WHERE。。。;可能是插入正确,但显示不正确。
  mysql_query("SET CHARACTER SET utf8") has changed tomysql_set_charset('utf8');