设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 918|回复: 0
打印 上一主题 下一主题

PHP中文乱码解决方案

[复制链接]
  • TA的每日心情
    擦汗
    2020-8-11 18:34
  • 签到天数: 243 天

    [LV.8]以坛为家I

    跳转到指定楼层
    楼主
    发表于 2016-2-18 15:17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    前言
    PHP中文乱码是PHP开发中的常见问题之一,中文乱码现像有时发生在网页本身,有些产生在于MYSQL交互的过程中,有时与操作系统有关,下面进行总结。

    一、 PHP网页的编码
    最好最快的解决办法就是使页面申明的编码与数据库内部编码一致,如果页面申请的编码与数据库内部的编码不一致时,那就设定连接编码。Mysql_query(“set names ***”).

    1、 php文件本身的编码与网页的编码应匹配,如果欲使用gb2312编码,那么php要输出头
    header(“Content-type:text/html;charset=gb2312”)
    静态页面添加
    <meta http-equiv=”Content-type”content=”text/html; charset=gb2312”>,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。

    2、 如果欲使用uft-8编码,那么php要输出头
    header(“Content-type:text/html; charset=utf-8”),
    静态页面添加
    <meta http-equiv=”Content-type”content=”text/html; charset=utf-8”>,所有文件的编码格式为utf-8.保存为utf-8可能会有点麻烦,一般utf-8开头会有BOM,如果使用 Session就会出现问题,可用editplus软件来保存。在这个软件中,选择工具?参数选择?文件?UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
    3、PHP本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。阿麦早母婴muying.amzna.com在需要做数据库操作的PHP程序前加mysql_query(“set names 编码”),编码和PHP编码一致,如果PHP编码是gb2312那么mysql编码也就是gb2312,如果是uft-8,那么mysql中就是utf8.这样改过后就不会出现乱码了。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|中国U网    

    GMT+8, 2024-5-6 21:22 , Processed in 0.069540 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表