js ajax encodeURIComponent编码 php mysql 乱码问题

<!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>js ajax encodeuricomponent编码 php教程 mysql教程 乱码问题</title>
</head>

<body>

var url = "post.php?name="+encodeuricomponent(names)+"&mo="+encodeuricomponent(mos)+"&body="+encodeuricomponent(bodys)+"&id="+<?=$id;?>;

ajax部份就不讲了,主要encodeuricomponent过去是乱码
</body>
</html>

php处理方法,

$name = iconv('utf-8','gb2312',postget('name'));

为什么把uft-8转换成gb2312呢,因为encodeuricomponent 把字符串采用utf-8编码格式转化编码。 对于utf-8的比较简单,与urlencode基本上是互换的,所以如果你是gb2312的页面就必须转换了。

当然接受页面转换了,现在要要gb2312的页面返回数据就必须再
$name = iconv('gb2312','utf-8',postget('name'));

返回过来 传送给ajax返回了,这个就解决了 ajax php encodeuricomponent编码问题了。

时间: 2024-10-13 13:11:51

js ajax encodeURIComponent编码 php mysql 乱码问题的相关文章

js解析文本、xml格式、json数据与ajax和servlet交互及乱码解决

1,在ajax与后台的交互中经常会出现乱码, 解决办法: 在后台获取数据的时候要改变其编码 //获取jsp页面传递过来的userName    代码如下 复制代码 String user= request.getParameter("userName");  //使用String来改变获取到的字符集编码  String userid = new String(user.getBytes("iso8859-1"),"GBK");    2,XMLH

解决mysql的默认字符编码和中文乱码问题

MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明 启动mysql后,以root登录mysql mysql > show variables like 'character%';  #执行编码显示 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+---------

JS及J2EE开发中解决乱码的小方法

1.设置HttpServletResponse.setContextType("text/html: charset=utf-8"): 2.在web页面用encodeURIComponent()对查询字符串进行编码.HttpServletRequest.getParameter (name)对特殊字符被进行替换.(如:+)自动替换成" "(空白字符串). 3.在进行查询字符串进行传输时,尽量对其进行base64编码,减少网络传输量.进行base64编码之后 ,必须进

AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法_AJAX相关

很多可能在转摘过程中失真或未经验证就被转摘,真正使用时却不行,也由此决定自己全方位试验一下,努力还是没有白费,虽然最终得出的结果是很简单的,但其过程对于一个新学AJAX的人来说,真是挺累.欢迎您在使用过程中对新的心得一起跟帖交流,一个思想+一个思想,至少可以产生两个思想. 一.在GET发送时: 方法1:在ASP服务器端用Response.charset="GB2312"界定输出编码给调用客户端 此时客户端不需要做什么转换即可.如下两个文件: 1.客户端JS 复制代码 代码如下: var

JS 文件本身编码转换 图文教程_javascript技巧

在百度.谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗? 之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码. 通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上就是乱码,而我的页面全部都是采用UTF-8编码进行编码的,为此,我想到了,这可能是JS文件本身编码问题造成的. 在Eclipse中,JS文件中的中文显示正常 在网页中,中文却显示为乱码 我想到

jQuery Ajax传值到Servlet出现乱码问题的解决方法_jquery

最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/ht

ajax与jquery.ajax中文参数post传递乱码处理方法

ajax与jquery.ajax中文参数post传递乱码处理方法 今天在做项目时,需要用到Ajax,之前我在用GET方式传递中文参数时,只需要在后台程序中设置页面编码为GB2312即中文能正常显示,可是这次由于表单项目较多,不适合用GET方式传递,只能用POST方式,但发现后台程序中设置编码为GB2312时中文还是显示的乱码.经过一番研究问题才最终得到解决.     解决此问题的方法非常简单,只需要在JS处理参数时用escape()函数处理一下即可,而且不需要再用unescape()解码,这个方

javascript中encodeURIComponent()函数URI中文乱码解决办法

问题描述 关于encodeURIComponent()函数应用之前在[注意javascript传递url数据的完整]一文有讨论,这里主要是讨论GBK编码的页面使用encodeURIComponent()函数编码URI通过ajax提交中文字符产生乱码的现象. 问题解决 使用encodeURIComponent()函数的目的是编码特殊字符 , / ? : @ & = + $ #,但实际应用中可能并不需要编码中文字符,因此可以编写自定义的函数替代encodeURIComponent()函数. 使 用e

在asp中使用js的encodeURIComponent方法

大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没有很好的方法,最后用了下面这个方法,基本解决了问题. <% Function aspEncodeURIComponent(sStr) aspEncodeURIComponent = myEncodeURIComponent(sStr) %> <script language="javascript" type="text