码迷,mamicode.com
首页 > Web开发 > 详细

网站开发笔记【二】php的乱码问题解决

时间:2014-09-10 10:46:30      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   ar   文件   数据   

php乱码问题主要是由于中文的编码问题导致的,中文的编码一般用到的以gbk,utf8居多。

为了使中文编码不再乱码,解决方案如下:

1.在php中加上header("Content-type: text/html; charset=utf-8");这句话一定要在php的<?php 标记之后的第一句话开始。

<?php
header("Content-type: text/html; charset=utf-8");

//added code 


?>

2.设置数据库连接为utf-8编码,在操作数据库之前,这样声明

<?php
header("Content-type: text/html; charset=utf-8");

//code

mysql_query("set names ‘utf8‘");

//数据库操作
....
?>

 

3.数据库的编码设置为utf-8(以mysql为例子)

bubuko.com,布布扣

bubuko.com,布布扣

查询字符集的方法:

bubuko.com,布布扣

 

我们在更改数据库字符集的时候这样做:1.拥有数据库配置文件的修改权限(可以修改my.ini):

如:在my.ini文件中找到下面的配置:

  default-character-set = utf8
      character_set_server =  utf8

 

2.没有修改my.ini的配置权限(一般是在云主机上)

可以在phpAdmin中这样设置:

bubuko.com,布布扣

 

或者是执行sql命令:

  mysql> SET character_set_client = utf8 ;
     mysql> SET character_set_connection = utf8 ;
     mysql> SET character_set_database = utf8 ;
     mysql> SET character_set_results = utf8 ;
     mysql> SET character_set_server = utf8 ;
     mysql> SET collation_connection = utf8 ;
     mysql> SET collation_database = utf8 ;
     mysql> SET collation_server = utf8 ;

 

最后,如果在进行上述的操作,即:数据库的编码是utf8,数据表的编码是utf8,数据表字段的编码也是utf8,

这样仍然出现乱码的原因可能是在数据库连接的时候出现问题(数据库连接可能需要外部传入的参数,这个参数的编码也很重要)

这样的话我们要这样设置:

SET NAMES ‘utf8‘;

及在数据库执行操作之前加上这么一句:它的作用等同于:

bubuko.com,布布扣

 

网站开发笔记【二】php的乱码问题解决

标签:des   style   blog   color   os   io   ar   文件   数据   

原文地址:http://www.cnblogs.com/pureqq/p/3963937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!