mysql编码的修改.doc_第1页
mysql编码的修改.doc_第2页
mysql编码的修改.doc_第3页
mysql编码的修改.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深入浅出修改mysql数据库的默认编码方式修改my.ini文件 加上default-character-set=gb2312设定数据库字符集alter database da_name default character set charset1)设置数据库编码 /etc/fmysqlddefault-character-set=gbk.clientdefault-character-set=gbk2)按字符集导出$mysqldump -u root -p dbname -default-character-set=gbk a.sql;3)查看SQL文件的编码rootlocalhost gethtml# file a.sql a.sql: UTF-8 Unicode .rootlocalhost gethtml# iconv -f utf-8 -t gbk a.sql a2.sqlrootlocalhost gethtml# file a2.sql a2.sql: Non-ISO extended-ASCII English text 这时已经是gbk的编码了3)导入查看数据库服务和客户端字符集mysql status;Server characterset: gbkDb characterset: gbkClient characterset: latin1Conn. characterset: latin1mysql set names gbk; /这样mysql status;Server characterset: gbkDb characterset: gbkClient characterset: gbkConn. characterset: gbk这时才能导数据mysql source a.sql;-单独设置某个数据库:alter database testdb character set utf8;查看mysql支持的编码:show character set;查看系统的字符集和排序方式的设定可以通过下面的两条命令:mysql SHOW VARIABLES LIKE character_set_%;LINUX 如下:1)导出数据 $ mysqldump -u root -p dbname -default-character-set=gbk base_user.sql;2)查看导出的sql文件的编码 $ file base_user.sql base_user.sql: UTF-8 Unicode text, with very long lines3)转成要用的编码 $ iconv -f utf-8 -t gbk base_user.sql base_user_gbk.sql4)连接数据库并查看当前库的编码 $ mysql -urootmysql use testdb;mysql status; Server characterset: latin1 Db characterset: gbk Client characterset: latin1 Conn. characterset: latin15)设置成需要的编码mysqlset names gbk;6)查看现在的编码mysql status; Server characterset: latin1 Db characterset: gbk Client characterset: gbk Conn. characterset: gbk7)导入我们转换成gbk后的文件mysql source base_user_gbk.sql;MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明,需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:一、Windows1、中止MySQL服务;2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可;3、打开my.ini以后,在client和mysqld下面均加上default-character-set=utf8,保存并关闭。4、启动MySQL服务二、Linux1、中止MySQL服务(bin/mysqladmin -u root shutdown)2、在/etc/下找到f,如果没有就把MySQL的安装目录下的support-files目录下的f复制到/etc/下并改名为f即可3、打开f以后,在client和mysqld下面均加上default-character-set=utf8,保存并关闭4、启动MySQL服务(bin/mysqld_safe &)非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置。需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述。以上的方法保证了数据为utf8编码,在mysql Query Browser 可视化工具中查看没有问题,但是以dos方式登陆数据库,select到的依然是乱码,这时可以通过改变命令行客户端字符集来正确显示中文。改成BGK编码即可正常查看中文,命令如下:mysql charset GBK;这时再用“mysql show variables like %set%;” 查看字符集变量,部分已经变成了GBK,此时查询会在命令行正确显示中文结果。三、临时改变编码形式上面的方法是设置为默认,如果要临时改变字符集,可以用可视化操作,也可以通过代码指定。可视化操作可以使用mysql QueryBrowser工具来创建表。1. 首先确定数据库的字符集。在数据库名上右键选择create new table,在Edit Table 的Table OPtions选项卡中,将CharSet 设为指定的字符集,比如latin1;2. 然后再去创建和编辑各列的字符集。在编辑列时,下方的column details 选项卡中可以查看和修改该列的字符集,即column charset 栏。如果保持默认,将与开始指定的数据库字符集相同,在这里是latin1;如果重新选择其他的编码,那么该列就具会按照新选择的字符集编码。 这里要注意一个问题,列默认的字符集是与首次指定的数据库字符集相同的,如果后来你改变了该数据库的字符集(在 table options 选项卡中修改),比如改成了utf8,那么它包含的列的字符集是不会改变的,只能单独去修改每列的字符集。(也就是说,列的字符集只有在创建的时候继承数据库的编码,之后他就是独立的。)- for example:create database plus_data DEFAULT CHARACTER SET utf8;create table uin_extract( task_id int not null auto_increment PRIMARY KEY, user_name varchar(30), task_na

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论