`
xsong512
  • 浏览: 35117 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript+php中文url编码|gb2312问题(ajax中文参数)

阅读更多
php页面文档为utf-8编码,html页面为gb2312。

第一种方法,使用encodeURIComponent一次转码:
"你好,world!"在html页面得出的编码为"%E4%BD%A0%E5%A5%BD%EF%BC%8Cworld!":
<html>
<head>
<script language="javascript">
a = encodeURIComponent('你好,world!');
window.location.href = a;
alert(a);
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head>
<body>
你好
</body>
</html>
php页面转码,得出中文"你好,world!"(utf-8编码):
<?php
header("Content-type:text/html; charset=utf-8");
$string = '%E4%BD%A0%E5%A5%BD%EF%BC%8Cworld!';
$string = urldecode($string);
echo $string;
?>

第二种方法,使用encodeURIComponent两次转码:
"你好,world!"在html页面得出的编码为"%25E4%25BD%25A0%25E5%25A5%25BD%25EF%25BC%258Cworld!":
<html>
<head>
<script language="javascript">
a = encodeURIComponent(encodeURIComponent('你好,world!'));
window.location.href = a;
alert(a);
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head>
<body>
你好
</body>
</html>
php页面转码,得出中文"你好,world!"(utf-8编码):
<?php
header("Content-type:text/html; charset=utf-8");
$string = '%25E4%25BD%25A0%25E5%25A5%25BD%25EF%25BC%258Cworld!';
$string = urldecode($string);
$string = iconv("UTF-8","GB2312",$string);
$string = urldecode($string);
echo $string;
?>
转自:http://hi.baidu.com/loveyoursmile/blog

分享到:
评论

相关推荐

    ajax中文乱码的各种解决办法总结

    以下是一些在不同编程语言中解决Ajax中文乱码问题的方法: 1. **设置Content-Type头** 当发送Ajax请求时,需要确保`Content-Type`头被正确设置。通常,应将其设置为`application/x-www-form-urlencoded; charset=...

    利用PHP+JavaScript打造AJAX搜索窗

    接着,检查 `$_GET['search']` 是否存在,然后使用 `urlencode` 和 `stripslashes` 函数对搜索词进行编码和处理,以防止特殊字符导致的问题。构造好包含搜索词的 URL 后,使用 `file_get_contents` 函数获取 RSS ...

    ajax乱码解决方案

    3. **GET请求的URL编码**:GET请求的参数通常会被URL编码,URL编码默认使用UTF-8。如果服务器或前端未正确处理URL编码的解码,也可能产生乱码。 4. **GBK与GB2312的混淆**:GBK是GBK编码,GBK是在GBK基础上扩展的,...

    利用PHP+JavaScript打造AJAX搜索窗.doc

    【利用PHP+JavaScript打造AJAX搜索窗】 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术常常被用来提供更流畅的用户体验,无需刷新整个页面即可获取和更新信息。本篇文章将指导你如何结合PHP和...

    ajax+php技术的登陆实例

    Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过JavaScript与后台服务器进行异步数据交互,提升了用户体验,使得用户在操作时无需等待页面重载。在本...

    AJAX+PHP+JQ图片预览截取上传

    一旦用户确认截取的区域,前端会使用AJAX将canvas中的图像数据(通常以base64编码的格式)发送到PHP服务器。PHP接收到这些数据后,可以将它们保存为实际的图片文件,同时可能还会进行一些优化,如压缩、调整尺寸等...

    php+AJAX传送中文会导致乱码的问题的解决方法

    在Web开发中,PHP与AJAX的...当使用AJAX发送POST请求时,如果直接将包含中文字符的变量(如`val`)作为请求参数,可能会因为编码问题导致乱码。例如以下代码: ```javascript http_request.open("POST", url, true); ...

    AJAX+ Jquery + JSON + PHP

    在本项目中,JSON 作为 AJAX 通信的数据载体,PHP 和 JavaScript 可以方便地对 JSON 格式的数据进行编码和解码。例如,PHP 可以使用 `json_encode()` 函数将数组或对象转换为 JSON 字符串,而 JavaScript 使用 `JSON...

    PHP ajax XML 获取省份地区邮政编码信息

    - 发送GET请求到服务器,请求XML数据,通常通过URL附带参数来指定操作。 - 在响应成功时,使用JavaScript的XMLDOM解析XML数据。 - 遍历解析后的XML节点,将省份和邮政编码信息添加到HTML元素中,更新用户界面。 ...

    ajax使用示例-unicode转换中文

    这个示例中,前端JavaScript通过Ajax向PHP发送Unicode字符串,PHP使用`json_decode`解码并转换为UTF-8编码的中文字符串,然后将结果返回给前端。整个过程无需刷新页面,实现了异步数据交互。 总结来说,这个"ajax_...

    php+jQuery ajax实现的实时刷新显示数据功能示例

    本文主要介绍如何使用php和jQuery ajax技术实现网页数据的实时刷新显示。具体来说,就是通过JavaScript的定时器,每隔一定时间就向服务器发送请求,获取最新的数据,然后在前端页面上实时更新这些数据,以实现数据的...

    ajax乱码解决汇总

    GBK和GB2312都是针对中文的编码,但GBK的字符集比GB2312大,包含了更多的汉字和符号。因此,误用GB2312编码可能会导致部分字符无法正确显示。 使用Cookie传递数据虽然方便,但也存在一些问题。一是Cookie的大小有限...

    ajax+php实现了页面注册的功能

    在网页开发中,Ajax(Asynchronous JavaScript and XML)与PHP的结合使用,可以实现无刷新的页面注册功能,提供更好的用户体验。本示例通过Ajax发送数据到后台PHP脚本,处理用户注册信息并验证,然后将结果返回到...

    php+ajax文件上传

    PHP和AJAX(Asynchronous JavaScript and XML)结合使用可以实现无刷新的文件上传,提供更好的用户体验。本资料包"php+ajax文件上传"提供了相关的代码示例,帮助开发者理解和实现这一技术。 首先,我们来理解文件...

    jquery的ajax例子无错版

    标题“jquery的ajax例子无错版”表明这是一个关于jQuery AJAX用法的示例,且已针对可能出现的编码问题进行了处理,确保在utf_8和gb2312两种常见字符编码下都能正常显示,避免了乱码问题。在多语言网站或者处理中文...

    IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

    中文字符编码问题主要发生在字符编码不一致的情况下,比如浏览器界面的编码为UTF-8,但服务器端数据库存储的编码为GB2312,或者JavaScript处理数据时使用了不同的编码。 ####参数传递和转码 在Ajax参数传递过程中...

    php&AJAX;实例代码

    在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于构建交互式的Web应用,它允许网页在不重新加载整个页面的情况下更新部分数据。这不仅提高了用户体验,还优化了服务器资源的使用。本文将...

    php+ajax练习.txt

    - `&lt;script src="ajax.js"&gt;&lt;/script&gt;`:引入了一个名为`ajax.js`的JavaScript文件,该文件将处理与服务器的通信逻辑。 3. **样式定制**: - `#register`:定义了一个宽度为400像素的容器,用于居中显示注册表单。...

    AJAX在Post中文的时候解决乱码的方法

    这里提供一个使用JavaScript原生实现的示例代码,用于解决AJAX请求中文乱码的问题: ```javascript function sendAjaxRequest() { var xhr = new XMLHttpRequest(); xhr.open("POST", "your-url", true); xhr....

Global site tag (gtag.js) - Google Analytics