php+mysql编码问题总结
要不出现乱码,就要保持数据库和页面的编码格式一致.我全部使用utf-8的编码.
首先页面:
1. 将文件用UE打开,将文件另存为UTF-8无BOM格式.很多编辑器都可用.
2.使用 header("content-type:text/html; charset=utf-8"); 强制转换成utf-8的编码.
也可以新建一个head.php,如下,在页面中用include("head.php");导入.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
3.我使用的是eclipsePHP, 在菜单中 选择 项目-属性-信息,将文本编码改成UTF-8。其它的开发工具应该也有吧。
4.php.ini中将default_charset属性值改为utf-8.
数据库:
1. 建库的时候执行
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
或者修改数据库编码
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
2. 建表的时候执行
CREATE TABLE IF NOT EXISTS `test` (
....
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
或者修改数据表编码
ALTER TABLE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
3. 修改my.ini,设置 default-character-set=utf8
这是我的最终配置,可能有点画蛇添足的地方,请勿见怪!
这是搜集的一些mysql设置编码命令
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
SET collation_connection = utf8_bin;
SET collation_database = utf8_bin;
SET collation_server = utf8_bin;
相关文档:
www.diybl.com 时间:2008-06-01 作者:佚名
将其保存成一个文件,用时调用
<?
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
if(!function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分 ......
公司mysql统一用latin1的编码,真是叫人苦不堪言。Django用默认UTF8访问MYSQL数据库。在操作数据库时,不管你怎么转码,最终写到数据库里的中文都是乱码。在网上找了很久,也没解决这个问题。
后来看了一个DJANGO的MYSQL操作的源码,发现了一些问题 先是/d ......
1、选取最适用的字段属性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使 ......
MySQL语句优化的基本原则:
◆1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,< ......