Loading...

Archive for April, 2007

最近忙死, 戒了QQ, Blog 也很久没更新了, 今儿来篇技术的 :D

之前转载过一篇 Wells 的文章, 关于 mySQL中使用UTF8字符集的问题解决

最近在项目中试验了一下 PDO 类, 发现也会有 UTF-8 乱码问题, 搜了一下找到以下解决方案:

PLAIN TEXT >> PHP:
  1. // 方法一:
  2. PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
  3.  
  4. // 方法二:
  5. PDO::__construct($dsn, $user, $pass);
  6. PDO::exec("SET NAMES 'utf8';");

两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了 :D

PHP Group: 12867580
Flash Group: 12868324
Javascript Group: 19354564 (本群属于 Javascript.com.cn)

PremiumSoft Navicat.MySQL v7.2.9
MySQL

ActiveState.Komodo.IDE.v4.0.2
PHP IDE

作为对 ANSI/ISO SQL92 标准的一个扩展,MySQL 也支持整型类型 TINYINT、MEDIUMINT 和 BIGINT。另外一个扩展是 MySQL 支持随意指定一个整型数值的显示格式,这通过在类型的基本关键词后跟一个括号来实现(例如 INT(4))。这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。当与可选的扩展属性 ZEROFILL 一起使用时,缺省填补用的空格被零代替。举例来说,一个列被定义为 INT(5) ZEROFILL,插入的值 4 被检索出来时为 00004。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 MySQL 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,MySQL 信任地认为所有的值均适合原始的列宽度。

作者信息不祥

用UTF8字符集,向mysql数据库中插入数据后,用PHP取出在页面上显示没问题。但是用phpmyadmin或其他工具去管理时就会变成乱码。痛苦的乱码啊,其实,这是COLLATION的问题。

当我们连上mySQL时,我们的session的默认的collation是latin1_bin,而UTF8的数据库的collation应该是utf8 的,一般用utf8_general_ci。所以我们只要在连接mysql数据库,session建立后,先执行如下三句SQL就万事大吉了。
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION='utf8_general_ci';

我把这三句SQL写在了我的mySQL类的constractor里了。这样,每次连接数据库时就自动执行啦。

转载自: The Power of OpenSource

老婆生日快乐 8)
祝老婆的股票全线飘红, 涨涨涨涨涨~~~~
老婆你那头发烫得真挺好的, 漂亮死我了 :lol: 偶喜欢, 啊哈哈哈哈哈哈 :P
(这个...分类好困难啊, 放工作日志吧)

今天突然发现这个 Google 的 3D绘图软件, 可以在电脑上进行建筑设计.
有点意思 :D 有兴趣的可以下载来玩玩
Google SketchUp 6