声明:本篇文章来自http://www.jb51.net/article/30123.htm

PHP页面转UTF-8编码问题

1.在代码开始出加入一行:

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

2.PHP文件编码问题 
点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8, 
如果是ANSI,需要将编码改成:UTF-8。 
3.PHP文件头BOM问题: 
PHP文件一定不可以有BOM标签 
否则,会出现session不能使用的情况,并有类似的提示: 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 
这是因为,在执行session_start() 的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签, 
PHP把这个BOM标签当成是输出了,所以就出错了! 
所以PHP页面一定要删除BOM标签 
删除这个BOM标签的方法: 
1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签! 
2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”, 
然后保存文件,即可以去除BOM标签! 
4.PHP以附件形式保存文件的时候,UTF-8编码问题: 
PHP以附件形式保存文件,文件名必须是GB2312编码, 
否则,如果文件名中有中文的话,将是显示乱码: 
如果你的PHP本身是UTF-8编码格式的文件, 
需要将文件名变量由UTF-8转成GB2312: 
iconv("UTF-8", "GB2312", "$filename"); 
利用程序来实例字符截取方法

function utf8_substr($str,$len)
{ for($i=0;$i<$len;$i++) { $temp_str=substr($str,0,1); if(ord($temp_str) > 127){ $i++; if($i<$len){ $new_str[]=substr($str,0,3); $str=substr($str,3); } }else { $new_str[]=substr($str,0,1); $str=substr($str,1); } } return join($new_str);
} 

MYSQL数据库使用UTF-8编码的问题

1.用phpmyadmin创建数据库和数据表 
创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”, 
如果该字段是存放英文或数字的话,默认就可以了。 
相应的SQL语句,例如:

CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2.用PHP读写数据库 

在连接数据库之后:

$connection = mysql_connect($host_name, $host_user, $host_pass); 

加入两行:

mysql_query("set character set 'utf8'");//读库
mysql_query("set names 'utf8'");//写库
//其实读写都可以只加入
mysql_query("set names 'utf8'");

就可以正常的读写MYSQL数据库了。

用的appserv-win32-2.5.10做的环境,装这个包的时候用默认的utf8编码。 
在写数据库连接文件时,写成:

$conn = mysql_connect("$host","$user","$password");
mysql_query("SET NAMES 'UTF8'");
mysql_select_db("$database",$conn);

然后在做页面时,注意这句:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
这样不管输入数据库的中文,还是页面显示,就都正常了。 
在DW CS4版里,默认生成的也是utf8页面。 
同样的,如果一开始写数据库连接文件时写成: mysql_query("SET NAMES 'GBK'");

那页面也要相应变成: 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 

PHP写入数据库中文乱码问题相关推荐

  1. 前端项目写入数据库中文乱码

    项目场景: 前端项目和MySql数据库的联调 问题描述 在进行前端项目向MySql数据库传入数据时,中文乱码,但是字母和数字不乱码. 原因分析: 错误的配置: 正确的配置: 原因:没有配置字符集. u ...

  2. mysql 通过echo的方式写入数据库 中文乱码解决方案

    echo "set names utf8;insert into xxx (path, sn, time, flag) values ('$wav', '$sn', '$secs', 'op ...

  3. php 写入mysql 乱码,php写入mysql中文乱码的实例解决方法

    php写入mysql中文乱码的实例解决方法 php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect( ...

  4. springMVC保存数据到mysql数据库中文乱码问题解决方法

    springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...

  5. Mybatis插入MySQL数据库中文乱码

    Mybatis插入MySQL数据库中文乱码 在dataSource.properties配置文件中设置useUnicode=true&characterEncoding=utf-8编码即可. ...

  6. PHP——PHP读取MySQL数据库中文乱码解决方案

    问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面  <head> <metahttp-equiv="Content-Type"content=&q ...

  7. php连接中文数据库乱码问题,如何解决php的数据库中文乱码问题

    php数据库中文乱码的解决办法:1.在HTML代码中的文件头中加入charset属性:2.在php代码的开始部分加入代码"charset=utf-8":3.数据库中表字段中存储中文 ...

  8. php写入文本乱码,如何解决PHP用fwrite写入文件中文乱码的问题

    如何解决PHP用fwrite写入文件中文乱码的问题 发布时间:2020-07-15 13:52:07 来源:亿速云 阅读:220 作者:Leah 这期内容当中小编将会给大家带来有关如何解决PHP用fw ...

  9. php查询mysql数据库乱码_PHP怎样处理查询MySQL数据库中文乱码?_后端开发

    PHP如何处理查询MySQL数据库中文乱码? 1.将MySQL数据库默许的编码是UTF-8: 2.在MySQL中建立表时,将字符集设置为UTF-8: 3.在PHP中查询数据之前,将数据库编码设置为UT ...

最新文章

  1. 设计模式 — 行为型模式 — 责任链模式
  2. HTML5前端常见攻击方式案例讲解!
  3. 求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...
  4. Java读取HttpServletRequest的post数据流
  5. C语言图像处理二值图细化,Visual C 实现二值图像处理
  6. linux c创建文件错误的是,在linux下创建一个类怎么出现会出现这种错误,我感觉是没有错误的,那位高手过来看看...
  7. webloigc12服务启动不了_weblogic启动不能锁定AdminServer.lok的故障处理
  8. 浅谈C++物理设计:实用宏
  9. 从宠物浴液做一个O2​O项目的设想
  10. 几个通用有限元软件简介
  11. art-记一次提取mmd模型到max和unity
  12. sql面试题 查询学过“叶平”老师所教的所有课的同学的学号
  13. 顶会速递 | ICLR 2020录用论文之强化学习篇
  14. java 日期加7天_java – 如何检查日期是否超过七天
  15. 使用IPMi获取服务器的硬件信息,如风扇转速、cpu等
  16. 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算
  17. 小马的白痴日常2019.12.20
  18. Axure RP 9 基础教程
  19. HTML5+CSS3+JS小实例:仿制网易云音乐网站的轮播图
  20. com.googlecode.genericdao

热门文章

  1. Three 之 three.js (webgl)基础 第一个入门 Web 3D 场景
  2. networkx实践
  3. (七) 三维点云课程---ICP应用
  4. 网络管理实验2——MRTG软件的运行和应用
  5. mac下使用iTunes备份到U盘
  6. phpstrom字体设置
  7. 计算机显示器配置,你们知道电脑的配置怎么查看吗,查看电脑显示器配置方法...
  8. 用sass替代node-sass
  9. kvm虚拟机调节内存
  10. 电吉他效果器评测:便捷、全能!