javascript php 之间传递 中文 避免乱码 .
在javascript代码中用encodeURIComponent()函数处理中文字符串,
JS代码:
<mce:script type=”text/javascript”><!--
string = encodeURIComponent(string);
location.href = index.php?keyword=’+string;
// --></mce:script>
PHP代码:
<?php
$keyword = (isset($_GET['keyword'])) ? $_GET['keyword'] : '';
?>
保证JavaScript和Asp、Php等后端程序间传值编码统一
在非英文字符集的页面上,如果使用Ajax方式进行数据交互的话,
就必须要注意保证前后端数据的统一编码,否则,很容易就出现乱码!
在后端是ASP程序的情况下,保持前端Javascript和Asp之间传值的统一编码可以使用以下函数进行处理:
编码:escape(string)
解码:unescape(string)
这两个函数在JavaScript和Asp里都存在,而且功能完全一样,
只要任何一端向另一端传数据,都先用escape进行编码,
接收的一端用unescape进行解码即可保证Javascript和Asp数据传递过程中不会出现乱码!
在后端是PHP程序的情况下,保持前端Javascript和PHP之间传值的统一编码可以使用以下函数进行处理:
WEB前端JavaScript
编码:encodeURI(string)
解码:decodeURI(string)
WEB后端Php
编码:urlencode(string)
解码:urldecode(string)
同样,传值的时候使用相应的编码函数encodeURI或urlencode,
接收的时候使用相应的解码函数decodeURI或urldecode,
即可保证Javascript和Php数据传递过程中不会出现乱码!
在WEB前端Javascript解码,Php里urlencode编码的数据时,可能需要使用两次解码,如:
unescape(decodeURI(string))
unescape用来解一些非字符类的文字,如标点符号等等。