PHP统一页面编码避免乱码问题
页面编码统一
MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。
1、MySQL数据库编码:
建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行mysql_query(‘SET NAMES gbk');//将gbk换成你的编码,如utf8。
<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页面编码
<?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中遇到BOM、<feff>编码导致json_decode函数无法解析问题
昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析. 复制代码 代码如下: [ { "title": "", "pinyin": "" } ] 可能聪明的你已经猜到其中包含有不看见的特殊字符,在vim下查看: 复制代码 代码如下: [ { <feff>"title&quo
-
支持生僻字且自动识别utf-8编码的php汉字转拼音类
拼音类文件py_class.php源码如下: <?php class py_class{ function py_class(){ $this -> pinyin = array( "a" => array(59371, 41648, 50400, 33157, 41392, 18661, 47599), "ai" => array(19697, 32178, 35504, 36856, 20712, 25068, 28663, 26608,
-
PHP base64编码后解码乱码的解决办法
在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的.来看看罪魁祸首是谁. 嫌疑人:base64_encode 和 base64_decode 罪行:我写了一个跳转和提示函数,接收提示信息后跳转到指定的页面,但是跳转提示时汉字乱码. 跳转模版代码如下: 复制代码 代码如下: <!DOCTYPE html><html><head><meta charset="utf-8"><meta nam
-
PHP统一页面编码避免乱码问题
页面编码统一 MySQL数据库编码.html页面编码.PHP或html文件本身编码要全部一致. 1.MySQL数据库编码: 建立数据库时指定编码(如gbk_chinese_ci),建立数据表.建立字段.插入数据时不要指定编码,会自动继承数据库的编码. 数据库连接时,也有编码,可以在连接完数据库后,执行mysql_query('SET NAMES gbk');//将gbk换成你的编码,如utf8. 2.html页面的编码,指的是这一行的设置: 复制代码 代码如下: <meta http-equiv
-
为了防止乱码,请将用于页面编码的meta charset放到title的前面
好多新手做网页的时候,有时候发现网站标题是乱码,下面就是方法,也是一种防止出错的规范 通常我们放置的顺序是先title,再charset,就像下面的: 复制代码 代码如下: < title>我的页面我们www.jb51.net</title> < meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 现在请将它们顺序颠倒过来: 复制代码
-
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码. 为了这个问题烦了我一个早上,终于的蓝色理想上得到解决. 首先让我们来了解一下Session对象提供了四个属性. 1.CodePage 读/写.整型. 定义用于在浏览器中显示页内容的代码页(Code Page).代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页.例如,ANSI代码页 1252用于美国
-
PHP 页面编码声明方法详解(header或meta)
php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("Content-type: text/html; charset=utf-8"); php页面为gbk编码 header("Content-type: text/html; charset=gb2312"); php页面为big5编码 header("Content-type: text/html; charset=big5"); 通常情况以
-
asp.net 页面编码常见问题小结
如果要为整个项目设置页面编码,那么就可以在 Web.config 文件中添加一个 Globalization 属性,然后设置它的 fileEncoding.requestEncoding,和 responseEncoding 特性: <configuration> <system.web> <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncodi
-
浅谈编码,解码,乱码的问题
在开发的过程中,我们不可避免的会遇到各种各样的编码,解码,或者乱码问题,很多时候,我们可以正常的解决问题,但是说实在的,我们有可能并不清楚问题到底是怎么被解决的,秉承知其然,更要知其所以然的理念,经过一番研究,就有了下面的这篇文章,鉴于本人功力尚浅,有错误请给予纠正 :-) 编码解码核心 简单的来说,编码是从一个字符,比如'郭',到一段二进制码流的过程.解码是从一段二进制码流到一个字符的过程. 但是,就计算机工作原理而言,这其中涉及到了三个对象. •字符 (我们在各种终端上面看得到的显示结果)
-
解决JavaEE开发中字符编码出现乱码的问题
网上有很多处理字符编码的解决方案,在此,我站着前人的肩膀上作自己的总结. 在我看来,出现乱码问题的解决方法无非就是在3个地方进行编码设置: 1.HTML.JSP等前端页面: 2.后台servlet中request和response对象: 3.服务器配置文件. 1.HTML.JSP等前端页面,出现编码首先看前端某个页面的Meta标签是否正确设置了编码,这个Meta标签也就是页面的头部 <%@ page language="java" import="java.util.*
-
解决tomcat 静态页面(html)中文乱码的解决终极篇
tomcat 中jsp不会乱码 但是html中文会乱码 原因有好几个: 没有设置页面编码 tomcat的配置不正确 文件保存的编码格式不是utf-8 等等 下面来讨论解决办法 html页面设置为 utf-8 在页面头部添加<meta>标签 tomcat的server.xml配置 (1) 添加 URIEncoding="UTF-8" <Connector port="8080" protocol="HTTP/1.1" connec
-
ASP codepage 页面编码使用说明
指定的代码页特性无效. codepage属性:是指出网页的代码页 如果制作的网页脚本与WEB服务端的默认代码页不同,则必须指明代码页: 复制代码 代码如下: codepage=936 简体中文GBK codepage=950 繁体中文BIG5 codepage=437 美国/加拿大英语 codepage=932 日文 codepage=949 韩文 codepage=866 俄文 codepage=65001 unicode UFT-8 页面编码的使用: 基于vbscript vbscript
-
jsp页面传参乱码的解决方法
jsp页面传参乱码的解决方法 jsp页面js: encodeURIComponent要使用两次encodeURIComponent(encodeURIComponent(userAccount)); java:String userAccount = java.net.URLDecoder.decode(userAccount,"UTF-8");/*需要处理异常*/ 纯属个人备注,以便后期使用
随机推荐
- android中Invalidate和postInvalidate的更新view区别
- asp textbox获取显示mysql数据示例代码
- 原生javascript实现图片放大镜效果
- C语言中函数指针的三种使用方法总结
- ios8 UITableView设置 setSeparatorInset UIEdgeInsetsZero不起作用的解决办法(去掉15px空白间距)
- Struts2学习笔记(5)-参数传递方法
- System.UnauthorizedAccessException:拒绝访问的处理办法.
- android中实现完全退出程序方法(退出所有activity)
- 详解C++的JSON静态链接库JsonCpp的使用方法
- nodejs入门教程六:express模块用法示例
- JavaScript通过setTimeout实时显示当前时间的方法
- 在JS中最常看到切最容易迷惑的语法(转)
- 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享
- jQuery用noConflict代替$的实现方法
- Node.js如何自动审核团队的代码
- XP操作系统异常故障解决方法
- Python httplib模块使用实例
- 一看就喜欢的loading动画效果Android分析实现
- php fckeditor 调用的函数
- Android 弹出软键盘所遇到的坑及解决方法