PHP统一页面编码避免乱码问题_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 标头,可以包含更多内容,设置编码只是其中之一。

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

时间: 2024-08-01 05:23:17

PHP统一页面编码避免乱码问题_php技巧的相关文章

PHP页面中文乱码分析_php技巧

PHP页面中文乱码出现的原因有几种,一种是页面编码不统计一,二是数据库未设置编码,三是apache编码有问题,下面我来给大家介绍两种解决办法,总体来讲就是页面编码不统一了.出现乱码大部分是由于编码方式的不一致导致的,其中主要有四个地方不一致就可能存在这个可能:1.页面文件的编码方式(.html,.php等)2.html.head中指定浏览器的编码方式3.MySql数据库传输的编码方式4.Apache字符集 在只有PHP代码的页面,做JS弹窗的时候,如果弹窗内容含有中文,可能会出现乱码的问题,解决

PHP实现自动识别原编码并对字符串进行编码转换的方法_php技巧

本文实例讲述了PHP实现自动识别原编码并对字符串进行编码转换的方法.分享给大家供大家参考,具体如下: /** * 对数据进行编码转换 * @param array/string $data 数组 * @param string $output 转换后的编码 * Created on 2016-7-13 */ function array_iconv($data, $output = 'utf-8') { $encode_arr = array('UTF-8','ASCII','GBK','GB2

PHP+MYSQL中文乱码问题_php技巧

从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行. 解决这个问题其实很简单. 1.在建表的时候设置编码类型为gb2312_chinese_ci. 2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如 $db_host="localhost"; $db_user="root"; $db_password="passwor

PHP Ajax实现页面无刷新发表评论_php技巧

大家都有在网站发表评论的经历,传统的发表过程无非是:发表->提交页面表单->等待刷新页面,这样在网络比较拥挤的时候,往往需要漫长的等待,今天介绍用PHP+Ajax实现页面无刷新发表评论,希望对初学ajax的PHPer有所帮助.    那么首先,我们需要一个基本的ajax开发框架,文件ajax.js就包含了这个框架,代码如下: var http_request=false;  function send_request(url){//初始化,指定处理函数,发送请求的函数    http_requ

PHP也能干大事之PHP中的编码解码详解_php技巧

写在前面 PHP也能干大事是我总结的PHP语法特性及相关函数类库的经典用法,并不一定是真正能实现四两拨千斤的功效,但是掌握这些方法,可以在你的工作和学习上有一些帮助,希望大家能集思广益,将<PHP也能干大事>丰富得更精彩!转载请注明出处(jb51.net) 二.前言 PHP是常见的脚本语言,主要是因为其简单易学,上手快,几乎50%以上的Web程序都有PHP的身影(不完全统计).PHP为开发这提供了丰富的函数和API接口,这使得我们能够非常方便地使用其强大的内置函数及扩展,本文是<PHP也

php使用fopen创建utf8编码文件的方法_php技巧

本文实例讲述了php使用fopen创建utf8编码文件的方法.分享给大家供大家参考.具体实现方法如下: 一般来说,如果我们直接使用fopen创建会发现文件编码都不是uft-8的了,那么如果要创建uft8文件我们需要进行一些技术处理.具体步骤如下: 使用PHP创建编码格式为utf-8文件的方法: 第一步:新建一个txt文件,打开,文件->另存为xxx.php,并将编码改为UTF-8,保存. 第二部:在php文件中加入如下代码: 复制代码 代码如下: <?php $filename=rand(10

php 解决substr()截取中文字符乱码问题_php技巧

在php中如果我要用substr()截取字符串全英文的没问题,如果包括有中文或英文就会悲剧了,但大家也 别切我们可以使用其它办法来解决. php截取中文字符串出现乱码,这是最近发现的事情,先前我曾经写过一篇关于自动生成meta信息的文章,那篇关于利用php截取文章前多少字作为description方法,但是出现了IE6无法加载CSS的现象,这里做一个补充. 首先要明确这么一个问题,之所以会出现IE6偶尔无法加载CSS的现象,是因为文件出现了乱码,导致后面的加载CSS的link无法被IE6正确解析

PHP中文乱码解决方案_php技巧

汉字乱码真是一个悲催的事情,JAVA讨厌汉字,PHP也不喜欢汉字:     Java乱码最终使用了spring给出的过滤器来过滤,处处过滤,其实影响了速度,不过没有办法,汉字就是W国首先不考虑的事情:     想不到PHP也是乱码处处在,当你使用亲兄弟MySQL的时候,汉字显得那么亲切,从未考虑过他会变成天书:不过为了和其他其他交互,把PHP的手伸到SQL SERVER的时候,乱码来了,原因是第三方系统用的GBK编码:     哎,转换吧:    1,PHP自带的转换函数ICONV,一个高大上的

基于PHP导出Excel的小经验 完美解决乱码问题_php技巧

我在PHP项目里要求把数据导出为Excel,并且数据中包含中文.网上大概了解一下可是使用PHPExcel,可是相对我的需求,这个框架太复杂了.于是还是想找找简单做法.网上发现其实最简单可以这样写,但问题是这种做法中文的编码不可靠.. 复制代码 代码如下: <?php  header("Content-type:application/vnd.ms-excel");  header("Content-Disposition:attachment;filename=expo