现在我要做个项目,用ajax+php+mysql的,因为ajax请求都是UTF8编码,而且PHP对json的处理如果出现非utf8编码的中文字就会失败,所以我的php都是以utf8格式保存的。
本以为,采用utf-8格式,就不会出现什么乱码问题,可是它就是乱了,而且乱得可以,header('Content-Type:text/html; charset=utf-8');之类的我也加了,仍然没有任何作用。
哪位高手替我解决下问题,测试网址如下:
http://shice.heliohost.org/test.php
页面代码非常简单<?php
header('Content-Type:text/html; charset=utf-8');
echo '中文';
?>
<br/>
中文
如果是一个html的话,代码中的中文字还是可以直接显示的,可一但是php,就出问题了
php探针:http://shice.heliohost.org/php.php

解决方案 »

  1.   

    将这段文字的文件默然编码改为utf-8
      

  2.   


    将这段
    header('Content-Type:text/html; charset=utf-8');
    echo '中文';
    文字的文件默然编码改为utf-8
      

  3.   

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 和 <meta http-equiv="Content-Language" content="utf-8" /> 
    页面显示时选择编码方式utf-8 
      

  4.   

    文件就是以utf8编码保存的代码已经改为如下<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <meta http-equiv="Content-Language" content="utf-8" />
            <title>test</title>
        </head>
        <body>
    <?php
    //header('Content-Type:text/html; charset=utf-8');
    echo '中文';
    ?>
    <br/>
    中文
        </body>
    </html>
    还是乱码
      

  5.   

    Parse error: syntax error, unexpected '/' in /home/shicelyb/public_html/test.php on line 9
      

  6.   

    把header放到前面试一下。<?php
    header('Content-Type:text/html; charset=utf-8');
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <meta http-equiv="Content-Language" content="utf-8" />
            <title>test</title>
        </head>
        <body>
    <?php
    echo '中文';
    ?>
    <br/>
    中文
        </body>
    </html>
      

  7.   

    把文件另存为utf-8编码试一下。
      

  8.   

    晕了,我的文件已经是UTF8编码格式了
    而且,这些php在我自己的机子上跑是没有任何乱码问题的
      

  9.   

    多注意,UTF8和UTF-8是不一样的
      

  10.   

    把test.php文件一定要存为utf-8无bom头文件。
    因为你是直接在文件中出现中文,并不是数据库或者其它方式获取到的中文数据。
      

  11.   

    我的IDE工具是UltraEdit15
    文件格式:UTF-8
    以及UltraEdit15能够保存的N种格式,我都试过了,都不行
      

  12.   

    你最好用windows自带的记事本看看,确认是不是utf-8文件。
      

  13.   

    关于文件是不是utf-8格式问题,我非常确认
    如果不信,可以去申请一个免费php空间自己上传一下文件就明白了
    http://www.heliohost.org
      

  14.   

    还有就是,只有像这样的代码才能显示为中文:
    echo "&#20013;&#25991;";
    但我总不能写一堆这样的 &#xxxxx; 代码吧
      

  15.   

    新建一个utf-8的文件,把代码拷进去
      

  16.   

    文件编码问题是一定的了
    用FTP上传时要手动选二进模式
    一些笨笨FTP客户端会把文件变ASCII的
      

  17.   

    PHP Core
    Directive Local Value Master Value
    allow_call_time_pass_reference On On
    allow_url_fopen On On
    allow_url_include Off Off
    always_populate_raw_post_data Off Off
    arg_separator.input & &
    arg_separator.output & &
    asp_tags Off Off
    auto_append_file no value no value
    auto_globals_jit On On
    auto_prepend_file no value no value
    browscap no value no value
    default_charset no value no value
    default_mimetype text/html text/html
    你让你的php配置文件中的default_charset为utf-8试试。
      

  18.   

    关于文件编码和FTP上传问题,请看下图:
      

  19.   

    以及换行符:UNIX 终束符 - LF
    也试过,一样乱码