- 论坛徽章:
- 0
|
因为要搞多语言版的项目,数据库是Mysql-4.1.9,使用PHP来操作Mysql,为了能使用utf8,今天搞了一天,终于搞定,期间也参考了好多资料,似乎都有问题,也许是没有找到真正的有用的资料,后来经过自己的“小聪明”,终于搞定!
注意:mysql 3.X的版本不支持utf8!
下面分别从mysql的安装,建数据库,建表以及PHP的连接来介绍!
1.安装mysql
很简单,我现在已经做好了yum升级
yum -y Mysql-server就OK了
2.创建数据库
进入mysql
mysql> create database bixuan character set utf8;
Query OK, 1 row affected (0.01 sec)
# 这里是创建了一个bixuan的数据库,其编码用:utf8
mysql>
# 下面是创建表,SQL语句如下
代码:
CREATE TABLE `type` (
`id` int(10) unsigned NOT NULL auto_increment,
`flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N',
`flag_type` int(5) NOT NULL default '0',
`type_name` varchar(50) character set utf8 NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
这样,数据库:bixuan和表type以及type表里的字段flag_deleted和type_name都支持了utf8!
如果修改数据库成utf8的:
mysql> alter database bixuan character set utf8;
修改表默认用utf8:
mysql> alter table type character set utf8;
修改字段用utf8:
mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8;
-----------------------------------------
修改配置文件,试数据库支持utf8
修改my.cnf
[client]
default-character-set = utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
修改后,重起mysql,查看参数
mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
mysql> show variables like '%char%';
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /opt/aimm/aimm/mysql5/share/mysql/charsets/ |
+--------------------------+---------------------------------------------+
如果不行
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
就ok
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/60332/showart_483164.html |
|