php 编码转换问题!

whfbbs 2009-06-21 09:11:40
如果我 ?t="囧"

echo iconv('UTF-8','GB2312',utf8_encode($_REQUEST['t']));//这个就是返回空..请问这种情况怎么处理啊?谢谢!


因为是ajax 他好象默认是utf 所以我这边.utf8_encode($_REQUEST['t'] 了一下



...全文
266 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanchao 2009-06-21
  • 打赏
  • 举报
回复
可以参考这篇blog来处理ajax的编码问题

AJAX中文乱码PHP完美解决


PS:我当时也遇到类似的问题,参考着就解决了,不能完全套用
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
我在?t=编码过的'囧'?

这样数据库就能放进去了么?
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
帮帮我!!给我点思路吧..啊门.
fxs_2008 2009-06-21
  • 打赏
  • 举报
回复
apache解析url时会并不能判断一个传过来的url字符编码是什么?所以,保险起见,不要在url中文,如要用,就要特别处理,强制前台编码
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
打击.我站是用gb2312开发的啊.打击.!那怎么办啊!
fxs_2008 2009-06-21
  • 打赏
  • 举报
回复
首先有utf8有的,GB和GBK不一定有,如果强制要用,就要全部用utf-8编码,前台后台。

如果不能,就尝试转码,但不保证一定能转出来!

whfbbs 2009-06-21
  • 打赏
  • 举报
回复
没有这个字.那怎么办?
fxs_2008 2009-06-21
  • 打赏
  • 举报
回复
这个和字符集有关
比如有utf8里的的字,GBK就没有这个字

另外,不要在如果我 ?t="囧" 直接定中文,应将中文编码urlencode

直接?t="囧" ,编码和客户端浏览器相关,也就是说,客户端IE如果GB,传过去的GBK

如果你的apache是utf8的,解析url就可能出错
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
http://localhost/d.php?t=囧

echo $_REQUEST['t']; 是可以的

一用到ajax请求 就一定要 iconv('UTF-8','GB2312',$_REQUEST[t]); 这样 js 才能alert出中文..

如果一出现奇怪的字 比如 "囧" 就不显示了!!alert 不出来了;
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
那是因为GB2312里只收录了6763个汉字,不在他收录范围里的汉字自然是没办法显示的
echo iconv('UTF-8','GBK','$_REQUEST[t]');
换成gbk字符,支持字数更多,而且向下与gb2312兼容!!!!!!!!!!!!!!!!!!!!!!!!
whfbbs 2009-06-21
  • 打赏
  • 举报
回复
我现在不是乱码 其他字符都正常啊!!!已经转过来了.就是遇到 '囧'' 这类字符就 读不到了!!!!

20,396

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧