让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中文乱码的实操

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/232275.html<

(0)
管理的头像管理
上一篇2025-04-20 02:25
下一篇 2025-04-20 02:26

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注