更正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

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx