中文编码转换,python中把ISO-8859-1编码转化为UTF-8
中文编码转换,python中把ISO-8859-1编码转化为UTF-8详细介绍
本文目录一览: Loadrunner中对中文进行UTF-8转码的探索
这是一个HTTP接口测试中经常会碰到的问题,目前的服务器采用的都是UTF-8编码方式,而我们的客户机Windows系统一般默认采用的编码方式是GBK,这正是我们采用录制方式的时候会发现许多中文乱码的原因。Loadrunner录制的时候可以通过在Virtual User Gen的Tools-Recoding Options - Advanced - Support charset - UTF-8的设置规避(其实也只是部分规避),下面我们讨论在手写测试脚本时如何解决UTF-8转码的问题。实践一:在脚本中直接采用中文明文进行请求web_custom_request("web_custom_request","URL="Method=GET","TargetFrame=","Resource=0","Referer=","Body=",LAST);结果:服务端返回404错误,找不到相应的资源id,明显服务端不能正确响应非UTF8编码方式的请求。实践二:为解决这个问题,最关键的是要把本地GBK编码的汉字转换成UTF-8编码格式的信息,为此我们引进loadrunner自带的编码函数lr_convert_string_encodinglr_convert_string_encoding Return Values ParameterizationConverts a string to a different encoding.C Languageintlr_convert_string_encoding( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);Example See AlsosourceString The string to convertfromEncoding The encoding of the sourceStringtoEncoding The encoding to convert of the string saved in parameterparamNameparamName The name of the parameter in which the destination string will be savedlr_convert_string_encodingconverts a string encoding between the following encodings: System locale, Unicode, and UTF-8.The function saves the result string, including its terminating NULL, in the parameterparamName.lr_convert_string_encodingis added manually to a script. when needed. It is not recorded.Possible values for 'fromEncoding' and 'toEncoding' :Constant ValueLR_ENC_SYSTEM_LOCALE NULLLR_ENC_UTF8 "utf-8"LR_ENC_UNICODE "ucs-2"根据函数说明,我们编写测试脚本如下lr_convert_string_encoding( "环球影院",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str" );web_custom_request("web_custom_request","URL="Method=GET","TargetFrame=","Resource=0","Referer=","EncType=text/xml;charset=UTF-8","Body=",LAST);使用lr_convert_string_encoding函数,将中文转换成UTF-8编码以后,作为参数传递给请求,并发送。测试结果:仍然返回404错误,查看loadrunner日志信息“环球影院”已经正确转换成UTF8编码方式,那为什么还是请求失败呢?再次查看日志如下Action.c(7): t=825ms: 223-byte request headers for "Action.c(7): GET /list?id=_ _褰遍_\x00 HTTP/1.1\r\nAction.c(7): Content-Type: text/xml;charset=UTF-8\r\nAction.c(7): User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows)\r\nAction.c(7): Accept-Encoding: gzip, deflate\r\nAction.c(7): Accept: */*\r\nAction.c(7): Connection: Keep-Alive\r\nAction.c(7): Host: 172.16.4.191\r\nAction.c(7): \r\n发现在请求地址“/list?id=_ _褰遍_”后面还带了一个\x00,这正是lr_convert_string_encoding函数说明中标红的说明:The function saves the result string, including its terminating NULL, in the parameterparamName.也就是说,我转换成UTF-8之后,如果直接作为变量传到代码之中的话,在最后的字符串之中,会多出来一个“NULL”,在C语言中NULL是一个字符串的结束,而正是这个null字节的存在导致了服务端识别id出错。实践三:char tmp[50];lr_convert_string_encoding( "环球影院",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str" );strcpy(tmp,lr_eval_string("{str}"));lr_log_message("str is %s",tmp);lr_save_string(tmp,"sorvalue");web_custom_request("web_custom_request","URL="Method=GET","TargetFrame=","Resource=0","Referer=","Body=",LAST);通过lr_eval_string函数取参数值时会自动去掉\x00,测试结果正常,正确返回HTTP响应内容。
发那科数控宏程序中文转码
发那科数控系统宏程序中文转码是将中文字符转化为机器可以识别的代码。计算机只能识别二进制代码,因此需要将中文字符转化为机器可以识别的二进制代码,才能在数控系统中正确的执行。发那科数控系统宏程序中文转码的本质是将中文字符转换为机器可以识别的ASCII码或其他编码格式。具体的转换方法可以使用FCODE指令、PINYIN指令、ASCII码转换表等多种方式实现。通过这些方法可以将中文字符转换成为机器可以识别的代码,从而实现在数控系统中正确的执行。
怎样把excel中英文转为中文
设置方法:
设置office语言环境(以office 2003为例):
开始菜单-Microsoft office- Microsoft office工具- Microsoft office 2003语言设置,将Microsoft office应用程序默认方式的语言设为"中文(简体)"
使用记事本打开CSV文件,文件-另存为,编码方式选择想要替换成的编码(如gbk)。
保存完毕后,用EXCEL打开这个文件就会正常显示。
【编码方式讲解】
(1)ANSI编码
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ASNI编码与Unicode编码之间最大也最明显的区别。例如上面演示的文件中英文字母和数字并没有出现乱码的情况。
(2)Unicode编码
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
(3)UTF-8编码
UTF-8是UNICODE的一种变长字符编码又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)。
怎么把织梦模版文件由gbk转为utf-8
1. dedecms网站GBK与UTF
在帮别人修改织梦模板的时候,别人的要求是: 在现有的织梦做网站上 增加一个多语言界面,就是在现有的中文界面上新增 英文,日文 和韩文。
第一个当然想得就是在织梦后台新增几个这样的 栏目。然后只要将模板做成其他的语言就可以调用了。
但是也遇到了一个问题就是它现有网站的织梦是gbk的。
这种gbk是一种中文编码,若想出现其他语言文字就必须转化成UTF-8的,所以自己就再网上整理了一下 找到了一个比较不错也适合自己的转换方式:
1. 备份网站的所有数据
这一部分是很重要的 ,尤其是数据库的备份。先织梦后台备份,然后再整站进行备份
2.导出数据库文件并转换。
这一部分需要使用到PHPMyadmin . 我们在MyAdmin 找到网站的数据库名,默认的数据表前缀为dede_ 全选这些数据表,选择导出。将导出的。sql文件在本地 用专门的编辑工具打开(可以使用DW或者是Notepad++等)
我们查找CHARSET=gbk 全部替换为CHARSET=utf8
查找gb2312全部替换成utf8
然后保存。
3.模板文件的转换
用DW打开模板文件,选择修改——页面属性——标题/编码 :
织梦gbk转utf8
我们只要将编码选择为 UTF-8即可,下面还有一个选择就是 是否包含Unicode签名(BOM) 【这个不要选择 否则在使用织梦模板插入include时会出错】
若发现有的文字出现了乱码 自己手动更改即可!
将全部的模板文章转换问UTF-8格式的!
文件基本上就转换好了!
4.安装UTF-8格式的织梦安装包
你使用的是织梦哪个版本的织梦就安装相应的UTF-8格式的安装包,安装好之后使用MyAdmin 将这个新数据库名中格的表删除,并将转换好的。ssql文件导入即可,将转换好的模板文件覆盖。
2. 织梦系统怎么把utf编码转成gbk
首先登陆dedecms网站后台,使用系统菜单下的数据库备份/还原功能,将网站的数据备份,记住要备份数据表结构,然后使用FTP工具将备份好的数据文件下载到您的电脑上。
备份的文件中有tables_struct_xxx这样一个文件,用dreamweaver或EditPlus打开这个文件,使用查找与替换命令,将CHARSET=gbk替换为CHARSET=utf8,然后要保存。打开准备的转码软件,将第所备份的文件(包括上面修改过的文件),将GBK转换为UTF-8格式。当然,转换好的文件一定是在一个新的文件夹里面,以便区分原来的GBK的文件。
至此这一步,就将数据库文件由GBK格式成功的转换为了UTF-8格式。
3. DEDEcms,GBK和UTF8版本互相转换有什么方法
当前安装版本为:dedecms v5.7 utf8,目标将网站由UTf8版本转换为GBK版。
2写在转换之前:要转换dede系统的版本,实际上是编码的转换的问题,要将mysqls数据从utf8转换为gbk编码,将模板文件的编码也要转换为GBK模式。在本文中两个核心工具,帝国备份王和Editplus 编辑器。
用ebak2008工具的备份/恢复功能,巧妙dede数据库utf-8编码的无错转换为gbk编码格式。站点文件的转换就用Editplus 编辑器。
END二数据的备份1在转换之前,将dede做整站备份,备份内容包括mysql数据库,dede站点文件,如果网站容量非常大的话,可以登录空间管理后台将整个网站进行打包,然后下载。备份的目的就是了防止转换失败后还有退路。
登录dede后台,选择“系统 ”中 “数据库备份/还原 ”备份dede数据库。2备份完毕,请登录ftp下载到本地电脑保存。
Dede备份数据存储位置:/data/backupdataEND三数据库编码转换1解压缩ebak2008,将ebak2008文件夹上传到网站空间的根目录。用帝国备份王(ebak2008)反向操作,强制转换dedecms v5.7 utf8版本的mysql数据编码为gbk。
2打开帝国备份王(ebak2008)工具(地址为:原域名/ebak2008),登陆3在登陆后的帝国备份王界面,点击“备份数据”,4备份数据界面,选择要备份的数据库,请注意操作,别选错了。5非常重要!虚拟主机安装的dede系统是utf8版,在备份的时候不能选择 “utf8编码进行备份 ”。
在这里要反向操作(如果是utf8就选gbk,如果是gbk就选utf8)。备份时请特别注意:选择数据库编码为gbk,不能选择其它方式,否则在转换后会出现乱码。
数据存储目录命名为:date_gbk_20138006。一般用默认的就可以了。
点击,屏幕最下方的 开始备份 ,等待完成操作!END四将gbk格式的dede数据库备份恢复到系统登陆主机ftp后台,将原来的dedecms的目录dede,改为deded_utf8_bak.上传DedeCMS-V5.7-GBK-SP1.tar,到主机后台进行解压缩,将其中的uploads文件夹改为dede,移动到public_html/目录中,此操作可以节省大量上传的时间.接着就可以重新安装dede系统了,安装过程不作演示.在安装DedeCMS-V5.7-GBK-SP1版时,按默认安装即可。安装完毕后,进后台将插件之类的也重新安装好.然后登录ebak2008数据库备份工具,选择“数据恢复”,恢复第二步骤中将utf8编码强制转换为gbk格式的数据库(date_gbk_20138006)。
帝国备份王(ebak2008)恢复数据仅需要50秒左右,速度相当的快。恢复数据后,请登录dede管理后台,重新生成一下网页。
检查首页无乱码,织梦网站管理系统(dedecms)utf8成功转换gbk。进入网站管理后台,检查数据库表,Mysql数据表无乱码:转换成功后的小错误,由于dede默认的utf8和gbk版本的差别,在转换成功后,“图文资讯”和“首页幻灯片”图片丢失,丢失的图片重新上传一下就OK!整个过程无报错,显示正常再次进入主机后台找到dede_utf8_bak目录下的uploads下的alimg目录(这个目录就是首页和上传的图片存放的位置),把这个目录加入到剪贴板,再进入dede目录下的uploads,复制剪贴板的文件到这里,这样图片就恢复正常了.本站使用的是dede默认的模板,所以在转换的时候没有改动dede的模板文件,如果你的网站对DEDE的一些文件没有改动,直接按照我的方法就可以成功转换。
如果有改动的文件,请将你改动的文件转换为gbk编码。用Editplus 编辑器将站点文件中的utf8转换为gbk编码。
重点是dede模板文件编码的转换,细心的用Editplus 编辑器修改,完毕后,上传覆盖即可。
4. dedecms的UTF
我看了下他的模板,这个改动量就太大了。你要把模板里的这些文件依次打开,并将
;改成
;。而且他的plus里也要改。整理起来很麻烦。
Python 编码转换与中文处理
python 中的 unicode 是让人很困惑、比较难以理解的问题. 这篇文章 写的比较好, utf-8是 unicode的一种实现方式,unicode、gbk、gb2312是编码字符集.
Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用" 编码指示 "来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明: # -*- coding=utf-8 -*- 或者 #coding=utf-8 其他的编码如:gbk、gb2312也可以;否则会出现:
先说一下python中的字符串类型,在python中有两种字符串类型,分别是 str 和 unicode ,他们都是basestring的派生类;
在str的文档中有这样的一句话:
也就是说在读取一个文件的内容,或者从网络上读取到内容时,保持的对象为str类型;如果想把一个str转换成特定编码类型,需要把str转为Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等。
unicode 转为 gb2312,utf-8等,使用 encode(encoding)
utf-8,GBK转换为 unicode 使用 unicode(s,encoding) 或者 s.decode(encoding)
普通的 str 转为 unicode,
如果直接执行s.encode('gb2312')会发生什么?
这里会发生一个异常:Python 会自动的先将 s 解码为 unicode ,然后再编码成 gb2312。因为解码是python自动进行的,我们没有指明解码方式,python 就会使用 sys.defaultencoding 指明的方式来解码。很多情况下 sys.defaultencoding 是 ANSCII,如果 s 不是这个类型就会出错。 拿上面的情况来说,我的 sys.defaultencoding 是 anscii,而 s 的编码方式和文件的编码方式一致,是 utf8 的,所以出错了:
对于这种情况,我们有两种方法来改正错误:
s = '中文' s.decode('utf-8').encode('gb2312') ```
import sys reload(sys) # Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入 sys.setdefaultencoding('utf-8') str = '中文' str.encode('gb2312')
print open("Test.txt").read()
import codecs print open("Test.txt").read().decode("utf-8")
Traceback (most recent call last): File "ChineseTest.py", line 3, in
print open("Test.txt").read().decode("utf-8") UnicodeEncodeError: 'gbk' codec can't encode character u'\ufeff' in position 0: illegal multibyte sequence
import codecs data = open("Test.txt").read() if data[:3] == codecs.BOM_UTF8: data = data[3:] print data.decode("utf-8")
s = "中文" print unicode(s, "utf-8")
Traceback (most recent call last): File "ChineseTest.py", line 3, in
s = unicode(s, "utf-8") UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data
s = "中文" print unicode(s, "gbk")
s = "中文" print unicode(s, "cp936")
JS 中文 UTF-8编码互转
中文转UTF-8:
let str = '中文内容';? ? //待转换中文
escape(str?).replace(/(%u)(\w{4})/gi, "&#x$2;")
UTF-8转中文:
let str = '徐恒';? ? //待转换UTF-8
unescape(str?.replace(/&#x/g, '%u').replace(/;/g, ''));
php 将中文转换为GBK编码
通常PHP中上传文件,如果文件名称有中文字符,上传之后的名称是无法写入到本地的,因为上传来的编码格式一般是UTF-8的格式,这种格式是无法给文件命名并且存储到操作系统磁盘。在写入之前需要将其转换为gbk的中文编码格式:
$fileName=iconv("UTF-8", "gbk", $fileName);
同样,从系统磁盘中读取文件获得的文件名称是gbk编码格式,这种格式php也是无法传递给其他页面,这时候就需要将它编码成UTF-8的格式:
$fileName=iconv("gbk", "UTF-8", $fileName);
扩展资料
很多人在使用过程中,发现字不够用,因为大家使用的主要是GB编码字库,此编码标准只收录了6763个常用汉字,而GB字库以外大量汉字,只能通过方正女娲补字软件拼字或其它造字程序补字。尽管补出的汉字在字形上满足需要。
但在字体风格、大小、结构方面难以协调统一,而采用手工贴图的方式补字,更不雅观。进而言之,如果用户建立信息系统,或需要查询新闻、出版内容时,靠补字是无法实现的。方正开发的GBK字库,将极大地缓解缺字现象。
从GB字库扩充到GBK字库,增加了1万4千多字。北大方正从1996年投入大量人力,开始做黑、宋、仿、楷GBK字库,并于1998年4月成为第一家通过国家权威部门组织的GBK字库鉴定的专业厂商。
北大方正已将全部字体转换成GBK字库,共46款,其中18款字数达21003个,是拥有GBK字库款数最多的厂商。
网址传递汉字,要用urlencode函数进行编码
nodepad++打开网页 全选网页内容,选择“格式”-》转为UTF-8 无BOM编码模式,保存
使用iconv()函数转换字符的编码。
例如:
$str = '哈哈哈哈哈哈哈';iconv("UTF-8", "GB2312//IGNORE", $str);
望采纳!
1、运行控制台,程序->运行,输入CMD,点击确定进入DOS操作系统 快捷键windows键+R键。
2、编写需要运行的java代码。
3、切换运行目录到您存放java代码的目录!使用命令 cd 切换。
4、解决错误提示:编码 GBK 的不可映射字符,使用命令:javac -encoding utf-8 helloword.java,编译成功。
5、成功编译后,在tmp目录下能看到helloword.java文件编译后的.class字节码文件。使用命令【 java helloword 】,运行java程序。
js 将 unicode编码转换中文2种方式
1、网上有工具
2、带/u 或者%u的是unicode编码结果
3、转中文方式
详细:
unescape() 函数可对通过 escape() 编码的字符串进行解码,已废弃。
编码和解码一一对应关系
escape() 编码, unescape() 解码 废弃
encodeURI 编码,decodeURI 解码
encodeURIComponent 编码,decodeURIComponent 解码
用什么解码对应的文件内容
python中把ISO-8859-1编码转化为UTF-8
当我们爬取一些页面的中文信息时,会出现如下情况:
爬取的中文编码格式不是UTF-8,无法正常显示,查看编码格式:
先编码
encode(编码):按照某种规则将“文本”转换为“字节流”,unicode转化为str
decode(解码):将“字节流”按照某种规则转换成“文本”,str转化为unicode
s.decode(' '):运行会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。
AttributeError: 'str' object has no attribute 'decode'
AttributeError: 'bytes' object has no attribute 'encode'