如何把escape()后的字符串还原存入MySQL数据库呢?~~~~ 你显示数据的时候后再用JS unescape不就行了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我在网上查到一个下面的转换函数~ 不知为什么运行错误:(<?phpfunction uniDecode($str, $charcode){ $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",toUtf8,$str) ; return mb_convert_encoding($text, $charcode, 'utf-8') ;}function toUtf8($ar){ foreach($ar as $val) { $val = intval(substr($val,2),16) ; if($val < 0x7F) { // 0000-007F $c .= chr($val) ; } elseif($val < 0x800) { // 0080-0800 $c .= chr(0xC0 | ($val / 64)) ; $c .= chr(0x80 | ($val % 64)) ; } else { // 0800-FFFF $c .= chr(0xE0 | (($val / 64) / 64)) ; $c .= chr(0x80 | (($val / 64) % 64)) ; $c .= chr(0x80 | ($val % 64)) ; } } return $c ;}?> <script>function foo() { location = location.href+"?text="+escape("中文字符串");}</script><input type=button onclick="foo()"><?phpecho $text = $_GET['text'];echo uniDecode($text,'gbk');...经测试无误,注意需要加载mb_string扩展函数库 TO xuzuning(唠叨) : 如何加载mb_string扩展函数库呢? 这个库是php中自带的吗?uniDecode($text,'gbk')仅对简体中文有效吗?如果我想对任何编码有效我该如何做呢?~~~~~~~~ 如何加载mb_string扩展函数库呢? 这个库是php中自带的吗?是的,与其他扩展库的加载一样uniDecode($text,'gbk')仅对简体中文有效吗?支持多种编码,只要给出mb_convert_encoding认识的名字 TO xuzuning(唠叨) : 我用了 uniDecode($text, 'gb2312')调用函数~ 可是不支持繁体~~~~ 我怎样才能使其兼容繁体呢?~~~~~ uniDecode($str, $charcode)中$str是形如 %uxxxx%uxxxx%uxxxx...的字符串,该串就是js的escape函数产生的unicode编码的明文表示而unicode编码函盖目前已知的所有语言文字,并不存在“不知道繁体与简体的情况”$charcode是表示待转换成的编码类型 例如: escape("中華人民共和國")的值为 "%u4E2D%u83EF%u4EBA%u6C11%u5171%u548C%u570B"可是 uniDecode("%u4E2D%u83EF%u4EBA%u6C11%u5171%u548C%u570B", "gb2312") 的值为“中冿人民共和W”uniDecode("%u4E2D%u83EF%u4EBA%u6C11%u5171%u548C%u570B", "big5") 的值为 “い地チ㎝瓣” 1、gb2312是国标简体编码。你给出的串中含有繁体字,不在该编码范围内,当然有问题2、big5编码的文字要在big5语言环境中查看echo uniDecode("%u4E2D%u83EF%u4EBA%u6C11%u5171%u548C%u570B", "big5");并设置浏览器的语言为“big5”才能看到正确的显示 我想用xmlhttp来POST一个用户填写的输入框中的内容~~并用PHP写入数据库~~~必须用escape进入编码这个内容才不会出错~~ 可是我用什么办法还原呢?~~~xmlhttp.open("POST", xfile, false) ;xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") ;xmlhttp.send(strInfo) ; 请教一个查询数据库输出后进行判断的问题! PHP操作FTP上传下载中文路径问题 过滤SQL注射的问题? 怎样在js日期比较? PHP怎么制作图像变形效果? php调用当当网api 有一个SESSON问题.为什么验证不了,菜鸟问题 为什么在用gd2的时候出错一大堆错误? PHP真的很强大啊, 大家快看, 纯php编出来的Web Server! ----- nanoweb 帝国cms和php中 关于游戏网站 怎么将游戏列表的开服时间进行排序 循环的问题 大家帮忙看一下我的这个程序出错在哪里?
不知为什么运行错误:(<?php
function uniDecode($str, $charcode)
{
$text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",toUtf8,$str) ;
return mb_convert_encoding($text, $charcode, 'utf-8') ;
}
function toUtf8($ar)
{
foreach($ar as $val)
{
$val = intval(substr($val,2),16) ;
if($val < 0x7F)
{ // 0000-007F
$c .= chr($val) ;
}
elseif($val < 0x800)
{ // 0080-0800
$c .= chr(0xC0 | ($val / 64)) ;
$c .= chr(0x80 | ($val % 64)) ;
}
else
{ // 0800-FFFF
$c .= chr(0xE0 | (($val / 64) / 64)) ;
$c .= chr(0x80 | (($val / 64) % 64)) ;
$c .= chr(0x80 | ($val % 64)) ;
}
}
return $c ;
}
?>
function foo() {
location = location.href+"?text="+escape("中文字符串");
}
</script>
<input type=button onclick="foo()">
<?php
echo $text = $_GET['text'];
echo uniDecode($text,'gbk');
...经测试无误,注意需要加载mb_string扩展函数库
如果我想对任何编码有效我该如何做呢?~~~~~~~~
是的,与其他扩展库的加载一样uniDecode($text,'gbk')仅对简体中文有效吗?
支持多种编码,只要给出mb_convert_encoding认识的名字
中
$str是形如 %uxxxx%uxxxx%uxxxx...的字符串,该串就是js的escape函数产生的unicode编码的明文表示
而unicode编码函盖目前已知的所有语言文字,并不存在“不知道繁体与简体的情况”$charcode是表示待转换成的编码类型
2、big5编码的文字要在big5语言环境中查看
echo uniDecode("%u4E2D%u83EF%u4EBA%u6C11%u5171%u548C%u570B", "big5");
并设置浏览器的语言为“big5”才能看到正确的显示
必须用escape进入编码这个内容才不会出错~~ 可是我用什么办法还原呢?~~~
xmlhttp.open("POST", xfile, false) ;
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") ;
xmlhttp.send(strInfo) ;