




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
转载:Mysql中文乱码的解决方法第一种方法,很精辟的总结:经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧:WINDOWS 下导入应该这样使用MYSQL的命令在DOS 命令下进入mysql的bin目录下,输入mysql -uroot -p密码数据库名称 库名导入完成以后再用phpmyadmin打开看,里面的中文字就是正确的。4.从mysql4.1里导出库文件一.用phpmyadmin导出导出倒是问题不大,如果phpmyadmin的浏览页面里显示的中文是正常的,那么导出肯定也是正常的二.在linux上导出如果用mysqldump导出出现了乱码也没有关系,可以运行iconv来转换一下iconv -c -f UTF-8 -t GB2312 库文件名 新的gb2312的库文件名综上所述,你要注意:1。尽量在需要导入的库文件的开头加入SET NAMES gb2312;告诉mysql你要导入的是一个gb2312的文件;2。可能你需要这个:SET NAMES utf8;在登陆到mysql后用,把character的一些默认参数改到utf8上,有时可以减少一些困扰,不过也不是必须的。在mysql上使用:SHOW VARIABLES LIKE character_set_%;用来查看当前的状态。3.如果出现乱码也不要怕,一是你要注意留存原有的备份,二是用iconv来进行转化。在正常使用之前注意做导入导出的测试,确保万无一失。最后加一句:原创文章,转载请注明出处。呵呵邮件: 作者: MySQL 发布日期: 2005-12-14我升级了MYSQL到4.1.2,phpmyadmin用的是2.6.2。数据表里面有中文的字段中文都变成了乱码,导出数据也是乱码。我用以前的2.5.7没有问题,想问一下,应该在phpmyadmin的那个文件里改哪个设置一下才能显示出来的是正常的中文字?和字符相关的变量中这几个和sql很有关系:character_set_clientcharacter_set_connectioncharacter_set_results此外就是数据库中对相应字段设置的charact set,如果没有对字段设置,缺省是table的charact set,table也没有指定则缺省使用database的。上面3个变量的作用是这样的,client表示客户端发送过来的字符集,results表示发送到客户端的字符集(这两个分开是因为发送过来和发送过去的不一定是同一个客户端),connection则在客户端和数据库起一个连接作用。具体是这样:比如我在mysql命令行设置client为gbk,connection为utf8,results为gbk,数据库为big5,当我发送一个insert语句的时候,这个语句作为gbk代码,先转为utf8代码(connection),再转为big5(database)插入数据库。而运行一个select语句的时候,从数据库得到的结果则相反的过程,由big5转为utf8,再转为gbk,你得到gbk的结果。因此最主要的是让client和results和你使用的客户端一致。比如你的网页是utf8编码,你就要设置这两个为utf8。而在mysql命令行的时候,我用的是2000,需要设置为gbk而我们用的set names XXX,实际上就是同时设置这3个变量为XXX。在这样的情况下,我们可以把一个数据库中的不同表或不同字段设为不同的字符集,只要上面3个设置正确,就可以在数据库中同时使用不同的字符集。注意要保证你的数据库中的字符已经使用了正确的字符集,比如如果一开始你设置错误,插入数据后,本身数据的编码就是不正确的,然后即使设置改回来,也不可能得到正确的显示了。好了,随便弄了下,希望对你有所帮助Mysql中文乱码问题完美解决方案MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!utf8可以兼容世界上所有字符!一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:CREATE DATABASE testCHARACTER SET utf8COLLATE utf8_general_ci;2、建表的时候 CREATE TABLE database_user (ID varchar(40) NOT NULL default ,UserID varchar(40) NOT NULL default ,) ENGINE=InnoDB DEFAULT CHARSET=utf8;这3个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。但是如果你已经建了库和表可以通过以下方式进行查询。1.查看默认的编码格式:mysql show variables like %char%;+-+-+| Variable_name | Value |+-+-+| character_set_client | gbk | character_set_connection | gbk | character_set_database | utf8 | character_set_filesystem | binary | character_set_results | gbk | character_set_server | utf8 | character_set_system | utf8 |+-+-+注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;执行SET NAMES utf8的效果等同于同时设定如下:SET character_set_client=utf8;SET character_set_connection=utf8;SET character_set_results=utf8;2.查看test数据库的编码格式:mysql show create database test;+-+-+| Database | Create Database |+-+-+| test | CREATE DATABASE test /*!40100 DEFAULT CHARACTER SET gbk */ |+-+-+3.查看yjdb数据库的编码格式:mysql show create table yjdb;| yjdb | CREATE TABLE yjdb (sn int(5) NOT NULL AUTO_INCREMENT,type varchar(10) NOT NULL,brc varchar(6) NOT NULL,teller int(6) NOT NULL,telname varchar(10) NOT NULL,date int(10) NOT NULL,count int(6) NOT NULL,back int(10) NOT NULL,PRIMARY KEY (sn),UNIQUE KEY sn (sn),UNIQUE KEY sn_2 (sn) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |二、避免导入数据有中文乱码的问题1:将数据编码格式保存为utf-8设置默认编码为utf8:set names utf8;设置数据库db_name默认为utf8:ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;设置表tb_name默认编码为utf8:ALTER TABLE tb_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;导入:LOAD DATA LOCAL INFILE C:utf8.txt INTO TABLE yjdb;2:将数据编码格式保存为ansi(即GBK或GB2312)设置默认编码为gbk:set names gbk;设置数据库db_name默认编码为gbk:ALTER DATABASE db_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;设置表tb_name默认编码为gbk:ALTER TABLE tb_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;导入:LOAD DATA LOCAL INFILE C:gbk.txt INTO TABLE yjdb;注:1.UTF8不要导入gbk,gbk不要导入UTF8;2.dos下不支持UTF8的显示;三、解决网页中乱码的问题将网站编码设为 utf-8,这样可以兼容世界上所有字符。如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机应用技术2.12.室内编队飞行表演介绍
- 2025年中国轮胎成品运输线行业投资前景及策略咨询研究报告
- 2025年中国自行车档碗行业投资前景及策略咨询研究报告
- 2025年中国塑料软质管材生产线行业投资前景及策略咨询研究报告
- 江苏省南京十三中2025届化学高二下期末考试模拟试题含解析
- 2025届湖北省宜昌市一中、恩施高中高一下化学期末联考试题含解析
- 2025届湖北省荆州开发区滩桥中学化学高二下期末联考模拟试题含解析
- 大庆一中初中考试题及答案
- 超难地理考试题及答案高一
- 沧州一中考试题目及答案
- (2024年)《甲亢病人的护理》ppt课件完整版
- 儿童发展心理学全套课件
- 2022水利工程生态护坡技术规范
- 《单片机C语言》课件
- 实验室搬迁方案
- 1、山东省专业技术职称评审表(A3正反面手填)
- 光电子技术及应用(第2版)章节习题及自测题参考答案
- 专业技术职称晋升申请书
- 2023年莒县小升初英语考试模拟试题及答案解析
- 金相的基础知识
- 病原学检测阴性肺结核诊断流程T∕CHATA 008-2020
评论
0/150
提交评论