mysql中存储的数据本来就有乱码,现在用PHP将其读出来显示到页面中,并通过ajax翻页的,但遇到乱码时,ajax翻页就不行了,是因为ajax传输时对数据要求比较严格,现在不知道怎么处理才能使翻页成功,希望高手指点,是否在PHP层面,将乱码的数据处理下?

解决方案 »

  1.   

    那要看是怎样的“乱码”了
    你可贴出一些乱码出来看看就好是经过 base64 编码的
      

  2.   

    一定要ajax的方式提交吗?如果不是必须的话,把<form>标签价格 data-ajax="false"<form action="form.php" method="post" data-ajax="false">
      

  3.   

    就是必须要ajax提交  还有类似这样的数据  
      

  4.   

    用php转码然后再传给 ajax 不就可以了吗?
      

  5.   

    1 最好刚开发时,就使用统一utf-8编码 
    html 头
    php 文件编码
    数据库的编码。减少不必要的麻烦~2 在过程中乱码,就进行转码 使用iconv 函数即可.具体怎么用看手册~
      

  6.   

    我试过用转码了,可是还是不行,依旧是显示不出来,iconv和mb_convert_encoding都试了,还是不行,是数据库中存的数据本来就是乱码
      

  7.   

    你#2的贴图中分明是 ENQE73876ENQC71
    你#7的贴图中才是乱码你需要贴出“乱码”内容的base64编码,才能提出解决方案
    echo base64_encode('乱码内容');
      

  8.   

    首先第一个数据库编码能改回中文就改回中文 看到一个超大的乱码数据库 想想就就觉得可怕
    “现在用PHP将其读出来显示到页面中,并通过ajax翻页的” 我对着他看很久 没能明白是一个什么数据传输过程 
    LZ你按xuzuning版主的方法去试试吧。我用过几次base64_encode() 还没发现什么乱码是编码不了的
      

  9.   


    base64_encode乱码后输出:0LvQu++/ve+/ve+/ve+/vQ==
    然后怎么办呢
      

  10.   

    你是通过ajax提交,之后出现这样的情况?那楼主用iconv转码试试。
      

  11.   


    现在这个问题还是存在啊,在ajax返回的数据里,内容是对了的,但是返回的时候不成功,报SyntaxError: JSON.parse: bad character in string literal错误,还是因为返回的数据里有乱码
      

  12.   

    通过ajax,记住一点:ajax只能传输utf-8格式,所以服务器那边必须作一下编码转换(gbk)
      

  13.   

    有没有哪位知道怎么解决啊,我再把问题说清楚点
    数据库里本来就存了一些乱码的数据,在调取数据的时候,翻页是用的ajax操作的,ajax取出的数据库中的是乱码的数据时,能取出来,但是会报SyntaxError: JSON.parse: bad character in string literal错,在php代码中已经处理过了,已经把编码转成utf-8的了