以下的文章主要介绍的是让mysql支持中文的实际操作方案,mysql支持中文是随着mysql数据库的产生而产生的也在一定程度上受到大家的青睐,以下就是具体内容的描述,希望在你今后的学习中会有所帮助。 提要:系统自带的mysql(和php搭配之最佳组合)默认字符集不
以下的文章主要介绍的是让mysql支持中文的实际操作方案,mysql支持中文是随着mysql数据库的产生而产生的也在一定程度上受到大家的青睐,以下就是具体内容的描述,希望在你今后的学习中会有所帮助。
提要:系统自带的mysql(和php搭配之最佳组合)默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的gbk和utf8的转换过程中消耗了我们无数的精力以及系统的资源.经过摸索尝试解决了中文支持问题,经验与大家分享一下.
先将让slack支持中文,方法可以看linuxsir.org 之slackware讨论区,然后重新编译mysql(和php搭配之最佳组合),原来系统mysql(和php搭配之最佳组合)的要先用卸载.
login:root
shell> removepkg mysql(和php搭配之最佳组合)
shell> groupadd mysql(和php搭配之最佳组合)
shell> cd /app
shell> mkdir mysql(和php搭配之最佳组合)
shell> chmod 744 mysql(和php搭配之最佳组合)
shell> useradd -g mysql(和php搭配之最佳组合) -s /bin/bash –p /app/mysql(和php搭配之最佳组合) mysql(和php搭配之最佳组合)
shell> chown -r mysql(和php搭配之最佳组合).mysql(和php搭配之最佳组合) mysql(和php搭配之最佳组合)
mysql支持中文:下载mysql(和php搭配之最佳组合)4.x.x
shell> gunzip mysql(和php搭配之最佳组合)-version.tar.gz | tar -xvf - shell> cd mysql(和php搭配之最佳组合)-version shell> cflags=-o3 -mcpu=pentium3 \ cxx=gcc \ xxflags=-o3 -mcpu=pentium3 -felide-constructors \ ./configure --prefix=/app/mysql(和php搭配之最佳组合) \ --with--charset=gbk \ --with-extra-charsets=gbk gb2312 big5 utf8\ --with-unix-socket-path=/etc/mysql(和php搭配之最佳组合).sock \ --enable-local-infile \ --enable-thread-safe-client \ --enable-assembler \ --with-client-ldflags=-all-static \ --with-mysql(和php搭配之最佳组合)d-ldflags=-all-static
//-mcpu 根据cpu类型优化编译,可以让你的mysq表现更好!可选项目很多:
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
再回上一步
shell> make install shell> cp support-files/my-medium.cnf /etc/my.cnf shell> cd /app/mysql(和php搭配之最佳组合) shell> bin/mysql(和php搭配之最佳组合)_install_db --user=root shell> chown -r root . shell> chown -r mysql(和php搭配之最佳组合) var shell> chgrp -r mysql(和php搭配之最佳组合) . shell> ./bin/mysql(和php搭配之最佳组合)d_safe --user=root --default-character-set=gbk & shell> ./bin/mysql(和php搭配之最佳组合)admin -u root password 'new-password' shell> ./bin/mysql(和php搭配之最佳组合) -u root --default-character-set=gbk -p mysql(和php搭配之最佳组合)> status ... server characterset: gbk db characterset: gbk client characterset: gbk conn. characterset: gbk ....
看见characterset全是gbk就算成功了.
在utf8字符集的老数据库中,创建中文支持表脚本如下,对字段加上字符集说明
create table `test`.`cn` ( `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(和php搭配之最佳组合)> 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(和php搭配之最佳组合)> insert into cn values(真的?,1);
mysql支持中文注:如果这些脚本用bin/mysql(和php搭配之最佳组合)命令行是输入不了,可以 用mysql(和php搭配之最佳组合) query browser,或者编程执行.
shell> bin/mysql(和php搭配之最佳组合) -u root --default-character-set=gbk -p mysql(和php搭配之最佳组合)>use test mysql(和php搭配之最佳组合)> select * from cn; +--------+------+ | zh | 中文 | +--------+------+ | 真的?| 1 | +--------+------+ 1 row in set (0.00 sec)
最后修改启动文件/etc/rc.d/rc.mysql(和php搭配之最佳组合)d
改路径/app/mysql(和php搭配之最佳组合)/bin/mysql(和php搭配之最佳组合)d_safe
改路径/app/mysql(和php搭配之最佳组合)/var/web.pid
/app/mysql(和php搭配之最佳组合)/bin/mysql(和php搭配之最佳组合)d_safe 后面加入 --user=root --default-character-set=gbk
上述的相关内容就是对让mysql支持中文的描述,希望会给你带来一些帮助在此方面。