更正ftp上传采用utf-8编码方式写入txt文件用IE打开出现乱码的问题

本文主要是介绍更正ftp上传采用utf-8编码方式写入txt文件用IE打开出现乱码的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ftp报警上传的txt文件如果用记事本打开没有乱码的问题,但是如果采用IE打开,则会出现乱码.

      原因是:我们原来做的只是把文本文件的内容转成utf-8的编码,却没有在写txt文件的时候采用utf-8的记事本的格式进行写文件:

      下面总结目前记事本支持的编码方式的写文件时需要增加的头:

      Ansi:即所谓的assic编码方式,不需要任何头直接写入文件,记事本会用默认的解码方式将记事本打开。

      Unicode:不需要任何头,但是不管是英文或者中文的字符都要用两个字节来表示,而且汉字的unicode码和assic码是不一样的,所以这个是需要编码得到的,然后写入txt文件,文本文件或IE都会根据文件的格式来解码.

      Unicode大头编码方式:unicode编码一样,但是高低字节对调了

      Utf-8:与unicode不同

      (1)中文和英文在unicode中用都用两个字节表示,而在utf-8中汉字用三个字节表示,英文用一个字节表示,变长编码方式(同时也有两个字节的汉字,这里不作讨论,本笔记只针对常用的简易汉字)unicode中英文也用两个字节,低字节补0,而utf-8用一个字节表示,和assic编码一样。

(2)utf-8unicode对汉字的编码不同

(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打开,会发现也会出现无法访问的提示

 

这篇关于更正ftp上传采用utf-8编码方式写入txt文件用IE打开出现乱码的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/311983

相关文章

SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题

《SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题》dynamic-datasource-spring-boot-starter是一... 目录概要整体架构构想操作步骤创建数据源切换数据源后续问题小结概要自己闲暇时间想实现一个多租户平台,

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

mybatis-plus分页无效问题解决

《mybatis-plus分页无效问题解决》本文主要介绍了mybatis-plus分页无效问题解决,原因是配置分页插件的版本问题,旧版本和新版本的MyBatis-Plus需要不同的分页配置,感兴趣的可... 昨天在做一www.chinasem.cn个新项目使用myBATis-plus分页一直失败,后来经过多方

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

Spring MVC跨域问题及解决

《SpringMVC跨域问题及解决》:本文主要介绍SpringMVC跨域问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录跨域问题不同的域同源策略解决方法1.CORS2.jsONP3.局部解决方案4.全局解决方法总结跨域问题不同的域协议、域名、端口