让MySQL支持中文的实际操作步骤

数据库 MySQL
我们今天主要向大家描述的是MySQL支持中文的实际操作方案,以下的文章就是对MySQL支持中文的实际操作的具体内容描述。

以下的文章主要介绍的是让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

 

 

  1. shell> gunzip < MySQL(和PHP搭配之***组合)-VERSION.tar.gz | tar -xvf -  
  2. shell> cd MySQL(和PHP搭配之***组合)-VERSION  
  3. shell> CFLAGS="-O3 -mcpu=pentium3" \  
  4. CXX=gcc \  
  5. XXFLAGS="-O3 -mcpu=pentium3 -felide-constructors" \  
  6. ./configure --prefix=/app/MySQL(和PHP搭配之***组合) \  
  7. --with--charset=gbk \  
  8. --with-extra-charsets="gbk gb2312 big5 utf8"\  
  9. --with-unix-socket-path=/etc/MySQL(和PHP搭配之***组合).sock \  
  10. --enable-local-infile \  
  11. --enable-thread-safe-client \  
  12. --enable-assembler \  
  13. --with-client-ldflags=-all-static \  
  14. --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

 

再回上一步

 

  1. shell> make install  
  2. shell> cp support-files/my-medium.cnf /etc/my.cnf  
  3. shell> cd /app/MySQL(和PHP搭配之***组合)  
  4. shell> bin/MySQL(和PHP搭配之***组合)_install_db --user=root 
  5. shell> chown -R root .  
  6. shell> chown -R MySQL(和PHP搭配之***组合) var  
  7. shell> chgrp -R MySQL(和PHP搭配之***组合) .  
  8. shell> ./bin/MySQL(和PHP搭配之***组合)d_safe --user=root --default-character-set=gbk &  
  9. shell> ./bin/MySQL(和PHP搭配之***组合)admin -u root password 'new-password'  
  10. shell> ./bin/MySQL(和PHP搭配之***组合) -u root --default-character-set=gbk -p  
  11. MySQL(和PHP搭配之***组合)> status  
  12. ...  
  13. Server characterset: gbk  
  14. Db characterset: gbk  
  15. Client characterset: gbk  
  16. Conn. characterset: gbk  
  17. .... 

看见characterset全是gbk就算成功了.

 

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

  1. CREATE TABLE `test`.`cn` (  
  2. `zh` CHAR(10) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NOT NULL,  
  3. `中文` INT(11) NOT NULL  
  4. )  
  5. ENGINE = MYISAM

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

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

 

 

  1. MySQL(和PHP搭配之***组合)> CREATE DATABASE dbCN DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;  
  2. CREATE TABLE `dbCN`.`cn` (  
  3. `zh` CHAR(10) NOT NULL,  
  4. `中文` INT(11) NOT NULL  
  5. )  
  6. ENGINE = MYISAM;  
  7. MySQL(和PHP搭配之***组合)> insert into cn values("真的?",1); 

 

MySQL支持中文注:如果这些脚本用bin/MySQL(和PHP搭配之***组合)命令行是输入不了,可以 用MySQL(和PHP搭配之***组合) query Browser,或者编程执行.

 

  1. shell> bin/MySQL(和PHP搭配之***组合) -u root --default-character-set=gbk -p  
  2. MySQL(和PHP搭配之***组合)>use test  
  3. MySQL(和PHP搭配之***组合)> select * from cn;  
  4. +--------+------+  
  5. | zh | 中文 |  
  6. +--------+------+  
  7. | 真的?| 1 |  
  8. +--------+------+  
  9. 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支持中文的描述,希望会给你带来一些帮助在此方面。 

 

 【编辑推荐】

  1. MySQL数据库的同步实例的实际操作
  2. 修改MySQL root密码5步骤介绍
  3. 提高MySQL连接数,很简单
  4. 获得MySQL运行报告,并不难
  5. 正确解决MySQL中文乱码的实操

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-05-12 13:45:25

Mysql 复制设置

2010-03-12 15:29:19

Pythonexe

2010-05-13 16:21:58

2010-05-28 14:42:00

MySQL使用备忘

2010-05-26 14:06:44

MySQL查询

2010-06-09 11:40:32

MySQL SQL 语

2010-05-27 10:35:09

查询MySQL数据

2010-06-01 15:54:46

MySQL-pytho

2010-05-17 16:52:14

MySQL limit

2010-05-13 17:00:32

MySQL启动方法

2010-04-20 11:06:33

Oracle索引

2010-03-24 18:00:30

Python中文转换u

2010-05-28 18:16:43

MySQL 操作日志

2010-12-07 09:20:44

MySQL limit

2010-05-18 14:35:06

MySQL触发器

2010-05-27 14:35:25

MySQL批量导入

2010-06-12 10:41:23

MySQL修改数据

2010-06-10 09:05:37

MySQL自动递增字段

2010-05-12 17:15:57

2010-04-02 13:34:33

Oracle DBA
点赞
收藏

51CTO技术栈公众号