等一下截图,就是在网上找不到合适的、真正好用的转换UTF-8编码到GB2312的函数。
不过我的页面head里有标签<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
按理不该乱码啊!

解决方案 »

  1.   

    你向 tip 函数传递的是字符串常量,那么你的程序文件不是 utf-8 的?
    你的浏览器是什么?php版本是多少?在我这里始终不能再现你的现象
    总之要看到 tip 的输出才好你的 tip 函数也可写作
    function tip($code, $msg) {
      $s = sprintf('{"code":"%s","msg":"%s"}', $code, $msg);
      die(iconv('gbk', 'utf-8', $s));
    }
      

  2.   

    楼主的程序文件与是不是utf8的?
    另外页面有加上<meta http-equiv="content-type" content="text/html; charset=utf-8">吗?
    如果不是,先改成utf8再测试吧。
      

  3.   


    谢谢回复,tip函数写成这样,ajax又无法返回到原页面了,
    我在本帖2楼说过,就是在网上找不到合适的、真正好用的转换UTF-8编码到GB2312的函数。
    不过我的页面head里有标签<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    按理不该乱码啊!
    程序文件不是 utf-8 的,什么意思?是指PHP文件?SafeinfoAction.class.php 还是 functions.php(内有tip函数)?
    我打开这两个文件,另存为页面上有:Unicode标准化表单:C (规范分解,后跟规范合成)
      

  4.   

    如果你的程序文件是 utf-8 的,那么为什么要 $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); ?