zoukankan      html  css  js  c++  java
  • 二招解决php乱码问题

    PHP的乱码问题已经说了N+1遍了,但还是经常看到新手不知道该如何解决php乱码问题,在此本人再重新给总结一下,希望对新手有点帮助
    php网页出现乱码一般是在建立数据库时用的编码和php网页的编码不同造成的, 

    用phpmyadmin建立的数据库如果你不指定编码他默认是latin1_swedish_ci 编码,既瑞典语不区分大小写,而我们中国做的网页不是GBK就是GB2312编码,这样不出现乱码才怪. 

    1,建立数据库时指定编码. 

    在此再唠叨一下常用的编码,免的新手又迷茫: 

    如果你做的是简体中文网页,那么你在建立数据库时用GB2312编码,gb2312_chinese_ci. 

    如果你做的是繁体中文网页,那么你建立数据库时要用gib5编码, big5_chinese_ci 

    如果你做的网页有简体也有繁体中文,那么推荐你用GBK编码,gbk_chinese_ci . GBK包含的字码比GB2312要多,当然繁体也在其中. 

    如果你做的是多国语言网页,那么推荐你用UTF-8编码 . mysql中有二种utf8编码可供选择 : utf8_unicode_ci与utf8_general_ci 笔者一般用utf8_general_ci ,关于这二种编码的区别,请参考本站的另一篇文章: Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别 

    我们用UTF-8编码为例建立数据库如图: 

     

    2,用php连接数据库时用mysq_query 设定一下编码 
    语法: mysql_query("SET NAMES 'utf8'"); 
    例如: 
    复制代码代码如下:

    $conn=mysql_connect('127.0.0.1','root','123456'); 
    mysql_query("set names 'utf8'",$conn); //解决乱码 
    mysql_select_db('test1',$conn); 
    //-- www.jbxue.com

    一般情况下只要你做好了这二步,你的程序是不会出现乱码的 
    二般情况: 
    二般情况一般出现的不多,多出现在做的程序语言比较多,比如有时做utf8的,有时做gb2312的,有时又要做big5的网页,用IDE建立的.php文件编码和程序要显示的编码不同而引起的. 
    比如,我上次做了个gb2312的简体中文网页,现在老板又有吩咐要做个gbi5网页,但我的ide用的却是gb2312的编码 
    就拿我常用的IDE Dreamweaver来说吧 

     

    ide新建的网页是gb2312,而我却把建好的网页改成big5的了,这样怎么会不出现乱码呢,解决的方法很简单,重新另存为一下,指定一下编码就OK了, 

    如果还搞不定,那么在网页头部加一行http头信息 

    header("Content-Type:text/html;charset=utf-8"); 

    注意:在发送header头信息时header前面不可以有任何输出,包括空格在内. 

    好了写了这么多,快看看你的程序属于哪个情况引起的乱码吧.
  • 相关阅读:
    springboot之静态资源路径配置
    window使用结束进程
    MyBatis动态sql语句归纳
    Mybatis——实体类属性名和数据库字段名不同时的解决方案
    oracle 查看被锁表 及解除锁定
    Eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)
    navicat和 plsql 连接oracle数据库 总结
    eclipse 快捷键Open Implementation 直接退出
    linux centos 安装mysql
    拦截器 过滤器 监听器 的区别
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3395920.html
Copyright © 2011-2022 走看看