现在的位置: 首页 > 数据库 > 正文

怎样让MYSQL彻底支持中文

2020年05月06日 数据库 ⁄ 共 2753字 ⁄ 字号 评论关闭

  系统自带的mysql默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源。下面学步园小编来讲解下怎样让MYSQL彻底支持中文?

  怎样让MYSQL彻底支持中文

  先将让slack支持中文,方法可以看"linuxsir.org之Slackware讨论区",然后重新编译mysql,原来系统mysql的要先用卸载.

  login:root

  shell>removepkgmysql

  shell>groupaddmysql

  shell>cd/app

  shell>mkdirmysql

  shell>chmod744mysql

  shell>useradd-Gmysql-s/bin/bash–p/app/mysqlmysql

  shell>chown-Rmysql.mysqlmysql

  下载mysql4.x.x

  shell>gunzip

  shell>cdmysql-VERSION

  shell>CFLAGS="-O3-mcpu=pentium3"\

  CXX=gcc\

  XXFLAGS="-O3-mcpu=pentium3-felide-constructors"\

  ./configure--prefix=/app/mysql\

  --with--charset=gbk\

  --with-extra-charsets="gbkgb2312big5utf8"\

  --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>makeclean

  再回上一步

  -------------------------------------------

  shell>makeinstall

  shell>cpsupport-files/my-medium.cnf/etc/my.cnf

  shell>cd/app/mysql

  shell>bin/mysql_install_db--user=root

  shell>chown-Rroot.

  shell>chown-Rmysqlvar

  shell>chgrp-Rmysql.

  shell>./bin/mysqld_safe--user=root--default-character-set=gbk&

  shell>./bin/mysqladmin-urootpassword'new-password'

  shell>./bin/mysql-uroot--default-character-set=gbk-p

  mysql>status

  ...

  Servercharacterset:gbk

  Dbcharacterset:gbk

  Clientcharacterset:gbk

  Conn.characterset:gbk

  ....

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

  怎样让MYSQL彻底支持中文

  --------------------------------------------

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

  CREATETABLE`test`.`cn`(

  `zh`CHAR(10)CHARACTERSETgb2312COLLATEgb2312_chinese_ciNOTNULL,

  `中文`INT(11)NOTNULL

  )

  ENGINE=MYISAM;

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

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

  mysql>CREATEDATABASEdbCNDEFAULTCHARACTERSETgbkCOLLATEgbk_chinese_ci;

  CREATETABLE`dbCN`.`cn`(

  `zh`CHAR(10)NOTNULL,

  `中文`INT(11)NOTNULL

  )

  ENGINE=MYISAM;

  mysql>insertintocnvalues("真的?",1);

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

  -------------------------------------------

  shell>bin/mysql-uroot--default-character-set=gbk-p

  mysql>usetest

  mysql>select*fromcn;

  +--------+------+

  |zh|中文|

  +--------+------+

  |真的?|1|

  +--------+------+

  1rowinset(0.00sec)

  ---------------------------------------------

  最后修改启动文件/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彻底支持中文”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.