php开源嘛
首页 | English | MySql数据库 | Php编程 | 建站杂烩 | 系统服务器 | 资源共享 | 专题 | 才桀网 | 支持论坛
  当前位置:主页>MySql数据库>文章内容
如何使MySQL数据库完全中文化呢?
来源:网络 作者:本站整理 发布时间:2007-11-14  

如何使MySQL数据库完全中文化呢?phpma.com

由于系统自带的MySQL默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源。

先将让slack支持中文,然后重新编译MySQL,原来系统MySQL的要先卸载: phpma.com
 
login:root
shell> removepkg mysql
shell> groupadd mysql
shell> cd /app
shell> mkdir mysql
shell> chmod 744 mysql
shell> useradd -G mysql -s
/bin/bash –p /app/mysql mysql
shell> chown -R mysql.mysql mysql  

再下载MySQL4.x.x:

shell> gunzip < mysql-VERSION.tar.gz
| tar -xvf -
shell> cd mysql-VERSION
shell> CFLAGS="-O3 -mcpu=pentium3" \
CXX=gcc \
XXFLAGS="-O3 -mcpu=pentium3
-felide-constructors" \
./configure --prefix=/app/mysql \
--with--charset=gbk \
--with-extra-charsets="gbk gb2312
big5 utf8"\phpma.com
--with-unix-socket-path=/etc/mysql.sock \
--enable-local-infile \
--enable-thread-safe-client \
--enable-assembler \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static  

//-mcpu 根据CPU类型优化编译,可以让你的MySQL表现更好。可选项目很多:i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp,athlon-mp,winchip-c6, winchip2 , c3。执行:shell> make。错误时候执行:shell> make clean。


再回上一步: phpma.com


shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /app/mysql
shell> bin/mysql_install_db --user=root
shell> chown -R root .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> ./bin/mysqld_safe --user=root
--default-character-set=gbk &
shell> ./bin/mysqladmin -u root
password 'new-password'
shell> ./bin/mysql -u root
--default-character-set=gbk -p
mysql> status
...
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk


 看见characterset全是gbk就成功了。

在UTF8字符集的老数据库中,创建中文支持表脚本如下,对字段加上字符集说明:

 

CREATE TABLE `test`.`cn` (phpma.com
`zh` CHAR(10) CHARACTER SET
gb2312 COLLATE gb2312_chinese_ci NOT NULL,
`中文` INT(11) NOT NULL
)
ENGINE = MYISAM;  

注:CHARACTER SET 写GB2312和gbk都可以,gbk优于GB2312。


对于新创建的数据库加个默认字符集声明GBK,就不用建表时候每个字段声明了,这样看起来简单流畅,没有特殊的痕迹,建议多采用这种方法。

mysql> CREATE DATABASE dbCN DEFAULT
CHARACTER SET gbk COLLATE gbk_chinese_ci;
CREATE TABLE `dbCN`.`cn` (
`zh` CHAR(10) NOT NULL,
`中文` INT(11) NOT NULL
)
ENGINE = MYISAM;
mysql> insert into cn values("真的?",1);   phpma.com

注:如果这些脚本用bin/mysql命令行是输入不了,可以用mysql query Browser,或者编程执行。

 
shell> bin/mysql -u root --default-character-set=gbk -p
mysql>use test
mysql> select * from cn;
+--------+------+phpma.com
| zh | 中文 |
+--------+------+
| 真的?| 1 |
+--------+------+
1 row in set (0.00 sec)
-----------------------------  

最后修改启动文件/etc/rc.d/rc.mysqld,改路径/app/mysql/bin/mysqld_safe,改路径/app/mysql/var/web.pid最后/app/mysql/bin/mysqld_safe 后面加入 --user=root --default-character-set=gbk。


(阅读次数:
上一篇:保护MySQL数据库中的重要数据的方案   下一篇:Phpma学习PHP高级技巧篇(-)...
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·用于SELECT和WHERE子句的SQL函数
·MySQL索引分析和优化
·MySQL数据库下.frm .MYD .MYI损
·怎么删除MySQL数据库中的重复数
·MySQL数据导入与导出
·MySQL数据库中SQL查询语句精华
·如何优化MySQL数据库性能
·MySQL查询优化之查询优化器
·怎么备份MySQL数据库
·如何导入导出*.sql文件到MySQL数
·MySQL数据导入导出方法与工具介
·MySQL索引分析和优化加速网站访
  相关文章
·保护MySQL数据库中的重要数据的
·MySQL数据库学习:MySQL Join详解
·数据库基础:SQL导出到MYSQL数据
·MySQL和SQL Server的安全性分析
·Phpma学习MySQL数据库数据的备份
·尝试提高MySQL查询效率的方法
·MySQL数据库中文模糊检索问题的
·转移数据:MySQL数据导入到Sql Se
·用数据库命令对MySQL数据库进行
·优化mysql数据库性能的十个参数.
·MySQL数据库中与浮点比较有关的
·MySQL数据库高级特性--对比其他

关于我们 | 本站声明 | 友情连接 | 诚邀加盟 | 网站地图
版权Power by DedeCms   技术支持QQ =>> 罗江游鱼   Jacking  后台登陆
Copyright @ 2007 公司地址:柳州市东环路268号 邮编:545006 电话:15920389818 桂ICP备07006725号