格式工厂,狸窝,暴风解码,魔梦工厂等都是常用的转换工具,狸转得不太清,但转得快,暴转得清,但占CPU,梦转得慢,但画质较好,格式工厂比梦快,比狸慢,清晰度没暴好,比狸好,折中选择,本人常用格式工厂。
如下:
工具/原料:
操作设备:戴尔灵越7400
操作系统:win10
操作软件:LocaleEmulator2007
1、打开乱码文本可以看到一堆乱码,无法识别。
2、现在需要下载转码工具,打开百度搜索LocaleEmulator,下载安装到电脑中。
3、找到安装完成后,找到安装的目录,选择LEInstaller.exe打开。
4、点击选择,install for currend user,install for all users,设置到右键设置。
5、选择需要转换的文件,右键-Locale Emulator 转换。
6、加载后可以看到文本转码成功,可以看得出文字,如图所示。
已有的网站是GB2312编码?看到UTF-8编码的优点有点心动?本文就是教你如何把网站从GB2312转为UTF-8。
GB2312是简体中文的编码,所以当文章/网页中包含繁体中文、日文、韩文时,这些内容可能无法被正确编码。
有一种比GB2312编码略广的编码,就是GBK,它包含了对繁体中文的编码,但对他国非拉丁字母语言还是有问题。
UTF-8编码是一种目前广泛应用于网页的编码,它其实是一种Unicode编码,即致力于把全球所有语言纳入一个统一的编码。目前UTF-8已经把几种重要的亚洲语言纳入,包括简繁中文和日韩文字。采用UTF-8编码的网页某种意义上说就是“与国际接轨”了。此外,很多手机终端都使用UTF-8编码,如果网站考虑开发WAP界面而网站数据本身又是UTF-8编码,就省却了开发WAP界面时的转码问题。
已有的网站是GB2312编码?看到UTF-8编码有点心动?本文就是教你如何把网站从GB2312转为UTF-8。
在转换前,必须考虑网站是否有必要转码。我提供几点供参考:
1、网站面向的对象,是局限一小圈子的人,还是中国大陆,还是包括港澳台在内的整个中国甚至全世界。
2、在GB2312编码中一个汉字占2个字节,而在UTF-8中,一个汉字要占3个字节,这种空间增加的代价是否值得。
3、在旧有的数据库系统上(例如mysql 4.0及以前的版本)可能没有内置对UTF-8的支持,虽然本文有办法解决,但不排除还潜在一些小问题。
4、网页文件转为UTF-8编码后是否方便编辑。我目前用ZDE4,设置好后对UTF-8编码支持非常好。设置方法是在菜单Tools-Preferences中,点Editing标签,把Encoding改为UTF-8即可。
考虑好决定转码以后,就可以开始了。本文仅以PHP 4.0~5.0 + MySQL 3.23~4.0为例。
首先对准备转码的数据库,为其建立一个新的数据库及相应表结构用于存储转码结果。如果在没有内置支持UTF-8的数据库系统操作,则建议把用于存储中文的CHAR、VARCHAR、TEXT字段分别改为BINARY、VARBINARY、BLOB,虽然我试验过不改也没有问题。
接着在操作系统命令行下执行如下命令导出原有的数据库(其中{dbname}用数据库名替换,{path1}用一个已存在的临时路径替换,导出的数据将会存放于此):
mysqldump --opt --comments=0 -n -t --fields-terminated-by=, --fields-escaped-by=\ {dbname} -uroot -p --tab={path1}
上述命令中的用户root也可换为其它用户,但须保证有dump的权限。用转码工具,例如ConvertZ,把上面{path1}中的全部文件转为UTF-8编码。注意要关闭BOM选项。假设转码后的文件保存在路径{path2}。
用有LOAD DATA权限的用户连接MySQL服务器,用use命令选择刚才新建的数据库,然后对每个表{table_name}执行如下命令:
LOAD DATA INFILE '{path2}{table_name}.txt' INTO TABLE {table_name} FIELDS TERMINATED BY ',' ESCAPED BY '\';
提示:表比较多的时候可以写个小程序生成一个SQL脚本。
执行上述命令时可能会出现警告(Warnings),请留意Warning的这些行(Row),可能有些数据并没有转换成功,例如字段错位。
根据经验,此种情况多数是由数据结尾的字节的16进制码大于7F所致。通常这些行数量是比较少的,可以手工修正这些行。
至此数据库的转码就完成了。清理原数据库和转码过程的临时文件这里就不详述了。
对网页转码:同样用转码工具把网站所有网页转为UTF-8编码。
然后打开包含头部的网页文件/网页模版文件,把这样的行:
替换为这样:
据我的经验,如果网页采用Css样式表控制网页样式,如果在css的body标签中设置了字体,那么在原来的gb2312编码下,该字体设置可以继承到intput和textarea中,但转为utf-8后,需要在input和textarea标签中重新设置字体。
在命令行界面用native2ascii工具
1.将汉字转为Unicode:
C:\Program Files\Java\jdk1.5.0_04\binnative2ascii
测试
\u6d4b\u8bd5
2.将Unicode转换为汉字:
C:\Program Files\Java\jdk1.5.0_04\binnative2ascii -reverse
\u6d4b\u8bd5
测试
java 自带的一个native2ascii.exe是一个很好的转码工具,在bin目录下。如果你的properties中有汉字,需要转成unicode . 则把含有汉字的properties拷贝到bin 目录下, 然后在cmd里面进入bin目录,输入:native2ascii -encoding utf-8 Language-ext_zh_CN.properties.native Language-ext_zh_CN.properties就ok了。Language-ext_zh_CN.properties是转码后的文件。
在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验 证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码 常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。
1、native2ascii简介:native2ascii 是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。 为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每 种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算 机工作能力的增强,Unicode也在面世以来的十多年里得到普及。(声明:Unicode编码定义来自互联网)。
2、获取native2ascii:安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。
3、native2ascii的命令行的命名格式:
native2ascii -[options] [inputfile [outputfile]]
说明:
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。
4、最佳实践:首先将JDK的bin目录加入系统变量path。在盘下建立一个test目录,在test目录里建立一个zh.txt文件,文件内容为:“熔岩”,打开“命令行提示符”,并进入C:\test目录下。下面就可以按照说明一步一步来操作,注意观察其中编码的变化。
A:将zh.txt转换为Unicode编码,输出文件到u.txt
native2ascii zh.txt u.txt
打开u.txt,内容为“\u7194\u5ca9”。
B:将zh.txt转换为Unicode编码,输出到控制台
C:\testnative2ascii zh.txt
\u7194\u5ca9
可以看到,控制台输出了“\u7194\u5ca9”。
C:将zh.txt转换为ISO8859-1编码,输出文件到i.txt
native2ascii -encoding ISO8859-1 zh.txt i.txt
打开i.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。
D:将u.txt转换为本地编码,输出到文件u_nv.txt
native2ascii -reverse u.txt u_nv.txt
打开u_nv.txt文件,内容为“熔岩”。
E:将u.txt转换为本地编码,输出到控制台
C:\testnative2ascii -reverse u.txt
熔岩
可以看到,控制台输出了“熔岩”。
F:将i.txt转换为本地编码,输出到i_nv.txt
native2ascii -reverse i.txt i_nv.txt
打开i_nv.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。。
G:将i.txt转换为GBK编码,输出到i_gbk.txt
native2ascii -reverse -encoding GBK i.txt i_gbk.txt
打开i_gbk.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。
H:将u_nv.txt转码到本地编码GBK,输出到控制台
C:\testnative2ascii -reverse -encoding ISO8859-1 i.txt
熔岩
从这个结果看,目标达到到了,编码i.txt为ISO8859-1,转为本地编码后内容为“熔岩”。从这里应该意识到,native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为(生成的)目标文件的编码格式。这一点非常的重要!切记!!
继续探索,新建文件12a.txt,内容“12axyz”。看看纯字母数字的编码又如何。
I:将纯字母数字的文本文件12a.txt转换为Unicode编码
native2ascii 12a.txt 12a_nv.txt
打开12a_nv.txt文件,内容为“12axyz”。
继续测试,转为ISO8859-1编码看看
C:\testnative2ascii -encoding ISO8859-1 12a.txt
12axyz
结果还是没有转码。
从结果可以得出结论:对于纯数字和字母的文本类型件,转码前后的内容是一样的。
ConvertZ 8.02 支持id3修改
是一个中文GB及Big5内码转换工具。能够让你随心所欲地将简体文件转换成繁体文件。转换速度相当快和具有「简转繁列表」提高辨识率来更正GB转Big5后繁简异字的问题、支持同时转换多个文件文件、提供文件及剪贴簿内码转换,且无文件大小限制等。另外,也提供了转换前预览功能,可在转换前事先预览转换前后之文字。