PHP统一页面编码避免乱码问题

yipeiwu_com7年前PHP代码库

页面编码统一

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。

1、MySQL数据库编码:
建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行mysql_query(‘SET NAMES gbk');//将gbk换成你的编码,如utf8。

2、html页面的编码,指的是这一行的设置:

复制代码 代码如下:

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

3、PHP或html文件本身的编码:
用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

4、Javascript或Flash中传递的数据是utf-8编码:

另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。

复制代码 代码如下:

iconv('utf-8', 'gbk', $content);

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:

复制代码 代码如下:

header('Content-type: text/html; charset=gbk');

php页面编码

1.在文件头中设置编码

复制代码 代码如下:

<?php
@header('Content-type: text/html;charset=UTF-8');
?>

2.header与meta的区别

用@header('Content-type: text/html; charset=gbk');与<meta http-equiv="Content-Type" content="text/html; charset=gbk" />的区别
他们都是告诉浏览器用什么编码显示网页,要说有什么不同,header是发送原始 HTTP 标头,不在网页中留下什么,而meta是写在网页中。

其一,如果网页中没有meta,那么发送 HTTP 标头就起作用了。

其二,用header()函数发送原始 HTTP 标头,可以包含更多内容,设置编码只是其中之一。

其三,有些时候不要网页显示什么内容,但要通知浏览器用什么编码来进行后续动作。

相关文章

PHP基于单例模式编写PDO类的方法

一、单例模式简介 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务; 二、为什么要使用PHP单例模式?    &n...

thinkphp自定义权限管理之名称判断方法

thinkphp自定义权限管理之名称判断方法

权限管理,就是给不同的用户分配不同的权限。当用户登录或者操作时候进行判断,来阻止用户进行权限以外的操作。本次讲的是当用户登录一刻,只显示权限开启的内容。 一、建立数据库。 1、权限表fu...

PHP编程中的Session阻塞问题与解决方法分析

本文实例讲述了PHP编程中的Session阻塞问题与解决方法。分享给大家供大家参考,具体如下: 使用session过程中,在开启session后,同一浏览器,执行同一程序,不同页面会被锁...

php下删除一篇文章生成的多个静态页面

复制代码 代码如下: //– 删除一篇文章生成的多个静态页面 //– 生成的文章名为 5.html 5_2.html 5_3.html /*—————————————————— */ f...

PHP实现将多个文件压缩成zip格式并下载到本地的方法示例

本文实例讲述了PHP实现将多个文件压缩成zip格式并下载到本地的方法。分享给大家供大家参考,具体如下: 废话不多说,直接上代码 //这里需要注意该目录是否存在,并且有创建的权限 $z...