首页 数据库 mysql教程 完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题

完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题

Jun 07, 2016 pm 06:05 PM
乱码 字符集

本人转换过好多数据了,也用过了好多的办法,个人感觉最好用的就是使用MySQL命令导出导入中将字符集转换过去

MySQL从4.1版本开始才提出字符集的概念,所以对于MySQL4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,MySQL版本的升级、降级,特别是升级MySQL的版本,为了不让程序继续沿用Latin1字符集之后对以后Discuz!版本升级的影响和安装SupeSite,这就需要我们进行字符集的转换!
本人转换过好多数据了,也用过了好多的办法,个人感觉最好用的就是使用MySQL命令导出导入中将字符集转换过去!
现在我将用图文并茂的方式向大家展示一下如何将MySQL字符集进行转换,由于字符集比较多,现在主要举GBK和Latin1这两种字符集之间的转换!
首先我将讲解一下如何将MySQL从GBK转换为Latin1的(如果是UTF8或者BIG5转换即将GBK换成相应的字符集即可)!这种问题常发生在MySQL从MySQL4.1及其以上版本转换为

MySQL4.1以下的版本的过程中!有的人图个方便,特别是有主机权限的,直接将MySQL的data目录下的文件拷贝过去了,这样造成的问题就是乱码问题!当然我所说的这些都要求你必

须拥有主机权限,虚拟主机用户可以在本地搭建好论坛,下载数据到你的本地,然后把数据导入到你本地的数据库,然后进行字符集的转换!
现在的步骤就是将MySQL的数据导出了,在mysql的命令提示符下(linux系统为mysql的命令目录下),输入下面导出的命令:
mysqldump -uroot -p --default-character-set=gbk --set-charset=latin1 --compatible=mysql40 --skip-opt discuz>discuz.sql
如图1(windows下)和图2(linux下)所示



这样就轻松的将数据从MySQL数据库中导出了,此时导出的文件在与mysql命令同级的目录下,即bin目录下,而且已经将MySQL字符集导出为Latin1的了!现在要做的就是将数据导

入MySQL4.0中去!
同样在4.0版本的mysql命令提示符下(linux系统为mysql的命令目录下),输入下面导入命令:
mysql -uroot -p --default-character-set=latin1 -f discuz如图3(window下)和图4(linux下)所示



这样就将字符集从GBK转为Latin1同时将MySQL从4.1以上版本的转为MySQL4.0的了!
现在讲解一下如何从Latin1字符集转换为GBK的!
由于只有MySQL4.1以上的版本才有字符集的概念,所以如果你要将MySQL4.0的字符集从Latin1转换为GBK字符集的话,必须导入到MySQL4.1以上的版本中,然后再导出!这里面就多

了一个导出为Latin1的步骤!
同样在MySQL4.0的命令提示符下,输入下面导出的命令:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=latin1 --skip-opt discuz>discuz.sql
然后导入到MySQL4.1中,输入下面导入的命令:
mysql -uroot -p --default-character-set=latin1 -f discuz然后在MySQL4.1下转换字符集,分别输入下面导出和导入的命令:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt discuz>discuz.sql
mysql -uroot -p --default-character-set=gbk -f newdiscuz如果不出问题的话,那么转换就完毕了!其实整个过程还是比较简单的,只是过程看起来比较麻烦些,但是过程却是很简单明了的!
下面举出一个在导入过程中极易容易出现的问题!
在导入的时候容易出现unknown command '/'这样的错误,其实这是由于MySQL在导出的时候,它有时候给一些繁体字后面自动加上了个反斜杠造成的!解决此问题的办法就是打开

备份的sql(这里为discuz.sql),提示错误的时候会提示具体哪行出现了错误,找到那行,把反斜杠去掉就行了!其实你可以用Ultraedit这些文本处理的工具,批量的去处理这些反斜杠

!凭个人经验,有很多用户名取的比较怪,这样就容易出现反斜杠,这样只要纠正那些用户名就行了!
以上是个人在转换数据过程中的一些经验之谈,很多地方还有待大家完善!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

word页码乱码怎么解决 word页码乱码怎么解决 Jun 25, 2023 pm 03:23 PM

word页码乱码的解决办法:1、打开word文档,点击左上角的“文件”选项;2、选择“更多”选项,再点击“选项”按钮;3、在word选项中选择“高级”;4、在“显示文档内容”中找到“显示域代码而非域值”,去掉前方的勾选,并点击确定,回到主页即可。

Linux中文乱码怎么解决 Linux中文乱码怎么解决 Feb 21, 2024 am 10:48 AM

Linux中文乱码问题是使用中文字符集和编码时常见的一个问题。出现乱码的原因可能是文件编码设置不正确,系统语言环境未安装或未设置,以及终端显示配置错误等。本文将介绍几种常见的解决方法,并提供具体的代码示例。一、检查文件编码设置使用file命令查看文件编码在终端中使用file命令,可以查看文件的编码:file-ifilename如果输出中有"charset

tomcat启动乱码如何解决 tomcat启动乱码如何解决 Dec 26, 2023 pm 05:21 PM

tomcat启动乱码的解决办法:1、修改Tomcat的conf配置文件;2、修改系统语言;3、修改命令行窗口编码;4、检查Tomcat服务器配置;5、检查项目编码;6、检查日志文件;7、尝试其他解决方案。详细介绍:1、修改Tomcat的conf配置文件,打开Tomcat的conf目录,找到"logging.properties"文件等等。

解决Windows10中文乱码问题的方法 解决Windows10中文乱码问题的方法 Jan 16, 2024 pm 02:21 PM

在Windows10系统中,出现乱码现象可谓是司空见惯。这背后的原因往往在于该操作系统并未对部分字符集提供默认的支持,抑或是设定的字符集选项存在错误。为了对症下药,以下我们将为您详细解析实际的操作规程。windows10乱码怎么解决1、打开设置,找到“时间和语言”2、再找到“语言”3、找到“管理语言设置”4、点击这里的“更改系统区域设置”5、如图勾选上然后点击确定就可以了。

linux tty中文乱码怎么办 linux tty中文乱码怎么办 Mar 16, 2023 am 09:20 AM

linux tty中文乱码的解决办法:1、通过“sudo apt-get install fbterm”命令下载字体fbterm;2、执行“sudo fbterm”命令;3、更改字体和字体大小为“font-names=Ubuntu Mono font-size=14”即可。

win11系统文档出现乱码怎么解决 win11系统文档出现乱码怎么解决 Jun 29, 2023 pm 06:29 PM

win11文本文档乱码怎么解决?很多用户在使用win11系统的时候出现了文本文档乱码的情况而导致无法正常的进行阅读,出现这个问题很多小伙伴都不知道该如何解决。其实这个方法并不难,下面小编整理了windows11系统文档乱码解决步骤,希望能够给大家带来一点启发!windows11系统文档乱码解决步骤1、首先,打开win11的控制面板,在下面的搜索框中输入控制面板,点击搜索,进入控制面板。2、进入面板后,找到时钟和区域并点击进入,再点击区域选项。3、进入后,点击管理面板,然后再点击更改系统区域设置。

解决dll文件打开乱码问题的编辑方式 解决dll文件打开乱码问题的编辑方式 Jan 06, 2024 pm 07:53 PM

有很多的用户们在使用电脑的时候,会发现有很多的文件的尾缀是dll,但是很多的用户们都不知道这种文件需要怎么打开,想要知道的用户们快来看看以下详细教程吧~dll文件怎么打开编辑:1、下载一个叫做“exescope”的软件,并下载安装。2、然后右键dll文件,选择“用exescope编辑资源”。3、然后在弹出的错误提示框中,点击“确定”。4、然后在右边的面板上,点击每个组前面的“+”号可以查看到它所包含的内容。5、点击需要查看的dll文件,就能够看到了,然后点击“文件”,选择“导出”。6、然后就能够

解决win11记事本中的乱码问题 解决win11记事本中的乱码问题 Jan 05, 2024 pm 03:11 PM

有些朋友想要打开一个记事本,发现自己的win11记事本乱码,不知道怎么办,其实我们一般只需要修改区域和语言就可以了。win11记事本乱码:第一步,使用搜索功能,搜索并打开“控制面板”第二步,点击时钟和区域下的“更改日期、时间或数字格式”第三步,点击上方的“管理”选项卡。第四步,点击下方“更改系统区域设置”第五步,将当前系统区域设置改为“中文(简体,中国)”并“确定”保存即可。

See all articles