更正ftp上传采⽤utf-8编码⽅式写⼊txt⽂件⽤IE打开出现乱码的
问题
ftp报警上传的txt⽂件如果⽤记事本打开没有乱码的问题,但是如果采⽤IE打开,则会出现乱码.
原因是:我们原来做的只是把⽂本⽂件的内容转成utf-8的编码,却没有在写txt⽂件的时候采⽤utf-8的记事本的格式进⾏写⽂件:下⾯总结⽬前记事本⽀持的编码⽅式的写⽂件时需要增加的头:
Ansi:即所谓的assic编码⽅式,不需要任何头直接写⼊⽂件,记事本会⽤默认的解码⽅式将记事本打开。
unicode汉字Unicode:不需要任何头,但是不管是英⽂或者中⽂的字符都要⽤两个字节来表⽰,⽽且汉字的unicode码和assic码是不⼀样的,所以这个是需要编码得到的,然后写⼊txt⽂件,⽂本⽂件或IE都会根据⽂件的格式来解码.
Unicode⼤头编码⽅式:跟unicode编码⼀样,但是⾼低字节对调了
Utf-8:与unicode不同
(1)中⽂和英⽂在unicode中⽤都⽤两个字节表⽰,⽽在utf-8中汉字⽤三个字节表⽰,英⽂⽤⼀个字节表⽰,变长编码⽅式(同时也有两个字节的汉字,这⾥不作讨论,本笔记只针对常⽤的简易汉字),unicode中英⽂也⽤两个字节,低字节补0,⽽utf-8⽤⼀个字节表⽰,
和assic编码⼀样。
(2)utf-8和unicode对汉字的编码不同
(3)utf-8需要头:初始的三个字节为0xef,0xbb,0xbf;⽽unicode不需要
这些可以通过⾃⼰建txt⽂档按照相应的编码⽅式保存,然后⽤UE打开,察看⼗六进制的数据可以看得出来的.
⽽正是因为没有在TXT⽂本⽂件前加上相应的头来对⽂件应该⽤哪种解码⽅式来解使得IE打开会出现乱码.
在解决了这个问题之后⼜来了⼀个问题:serv-u搭建的ftp服务器我们设备发⽣ip地址改变时会上传⼀个以设备名命名的txt⽂件,⽽当设备名为中⽂的时候,进⼊ftp直接双击那个txt⽂件默认⽤IE打开,但是会出现提⽰⽹页”⽆法访问”的信息。
这个问题应该是出在serv-u⾃⾝,⽤serv-u搭建的ftp服务器不能够⽤IE打开以中⽂命名的txt⽂件,我们可以实验:直接在设置ftp⽬录⾥⾯新建⼀个以中⽂命名的txt⽂件,然后⽤IE打开,会发现也会出现”⽆法访问”的提⽰
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论