`
zengjinliang
  • 浏览: 302365 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

让MYSQL彻底支持中文

阅读更多

提要:系统自带的mysql默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源.经过摸索尝试解决了中文支持问题,经验与大家分享一下.

   先将让slack支持中文,方法可以看"linuxsir.org 之Slackware讨论区",然后重新编译mysql,原来系统mysql的要先用卸载.
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"\
--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类型优化编译,可以让你的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
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` (
`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);

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

shell> bin/mysql -u root --default-character-set=gbk -p
mysql>use test
mysql> select * from cn;
+--------+------+
| 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彻底支持中文_解决mysql数据库乱码

    让MySql彻底支持中文_解决mysql数据库乱码

    如何让你的MySQL数据库彻底与中文联姻

    系统自带的MySQL默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源。经过摸索尝试解决了中文支持问题,本文与大家...

    如何修改MYSQL的默认编码

    MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明 需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法: Windows系统 1、中止...

    Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation)

    mysql数据库和中文支持很不友好,经常见到“Illegal mix of collations for operation”错误,该如何解决呢?下面小编给大家带来了mysql数据库中涉及到哪些字符集及彻底解决中文乱码的解决方案,非常不错,一起看看...

    易语言程序免安装版下载

    OpenGL支持库中的部分英文名称常量已改为中文,并统一在所有常量名称之前加前缀“GL_”,以减少与其它库的冲突机率。 3. 互联网支持库中的“FTP目录列表”命令返回的文件时间改为FTP服务器返回的原始时间,不做...

    MyCat inAction 中文版

    • 支持事务、ACID、可以替代Mysql的加强版数据库 • 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 • 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server • 结合传统数据库和...

    MyCat In Action 中文版

    支持事务、ACID、可以替代Mysql的加强版数据库 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据...

    直销系统MLMCMS ASP

    提供10家主流在线支付接口,智能的财务结算功能,彻底为您解决繁琐手工操作的烦恼。 精确的计算公式: 独有的1000万数据量测试,确保资金计算准确无误,多种奖项设定,为您创造更高的盈利空间。 高仿WIN 7主题风格...

    MyCat_In_Action_中文版.doc

    • 支持事务、ACID、可以替代Mysql的加强版数据库 • 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 • 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server • 结合传统数据库和...

    结算软件MLMCMS v1.0.rar

    提供10家主流在线支付接口,智能的财务结算功能,彻底为您解决繁琐手工操作的烦恼。 精确的计算公式: 独有的1000万数据量测试,确保资金计算准确无误,多种奖项设定,为您创造更高的盈利空间。 高仿WIN 7主题...

    支持多数据库的ORM框架ef-orm.zip

    支持Oracle、MySQL、Postgres、MSSQL、GBase、SQLite、HSQL、Derby等数据库。除了API方式下的操作能兼容各个数据库之外,就连SQL的本地化查询也能使之兼容。JMX动态调节 可以用JMX查看框架运行统计。框架的debug...

    精迅CMS v2.1 简体中文 UTF8 正式版.zip

    使用精迅CMS作为基础来建立网站,彻底解决了目前大部分中小型网络公司建立的网站在改版时需要重新制作一个网站的弊端(这样做用户体验不好,同时好不容易建立的网络友好链接关系失效),而精迅CMS建立的网站,改版的...

    搜易站内搜索引擎 v1.4.rar

    2,多数据库支持:目前支持应用最广泛的MS SQL SERVER 2000/2005,MySQL数据库,在后台点点鼠标即可完成数据库数据汇入索引库的匹配; 3,毫秒级的速度:基于倒排索引全文索引技术核心,实现索引分块存储千万级数据...

    绿色免费人力资源管理软件┊人事、考勤、工资、考核、OA

    2、办公管理:准确记录企业人员的福利、奖励、惩罚、工伤、物品、证照、宿舍、车辆等情况,彻底结束数据混乱、奖罚不明、车辆不清等现象,同时将相关数据与工资无缝接口。 3、人力资源:根据招聘计划,跟踪应聘...

    discuz!6.1GBK 版本论坛系统

    目前发布的版本分为简体中文,繁体中文和英文三个版本。自 Discuz! 2.0 以来,因其高效国际化内核的应用,使其成功走出国门,步入海外市场,商业客户遍及中国大陆,香港,台湾,北美,欧洲,澳洲,马来西亚等国家和...

    LeadBBS 8.0

    LeadBBS,中文ASP论坛程序名称,于2002年由著名ASP程序员SpiderMan...- 7.0支持使用Microsoft Access数据库,或MySQL,暂不支持MSSQL安装 LeadBBS旧用户升级,请至官方论坛查看相关信息(6.0及之后用户可后台自动升级)

    贞龙(BIZOSSCMS)高性能内容管理系统JAVA版 v4.1.rar

    BIZOSS-CMS采用JAVA MySQL技术开发,内置了贞龙公司的SOA框架,在我们的支持下可以实现和贞龙系列产品和其他第三方企业内部应用无缝连接。BIZOSS-CMS的静态化机制和全文检索机制支持数十万、上百万的数据量快速查找...

    贞龙jsp版本CMS(BIZOSSCMS)高性能内容管理系统正式版

    BIZOSS-CMS采用JAVA+MySQL技术开发,内置了贞龙公司的SOA框架,在我们的支持下可以实现和贞龙系列产品和其他第三方企业内部应用无缝连接。BIZOSS-CMS的静态化机制和全文检索机制支持数十万、上百万的数据量快速查找...

Global site tag (gtag.js) - Google Analytics