HTML文件上传中的字符编码

HTML文件上传中的字符编码,第1张

概述我有一个简单的 HTML表单: <form action="/file/import" method="POST" enctype="multipart/form-data"> <input id="csvFile" type="file" name="file"></form> 我在上传使用不同字符集保存的CSV文件时遇到问题.是否有可能使浏览器将任何文件转换为UTF-8并以这种方式发送到 我有一个简单的 HTML表单:
<form action="/file/import" method="POST" enctype="multipart/form-data">  <input ID="csvfile" type="file" name="file"></form>

我在上传使用不同字符集保存的CSV文件时遇到问题.是否有可能使浏览器将任何文件转换为UTF-8并以这种方式发送到服务器?

在上传最初保存在ISO-8859-2中的文件后,我尝试了几个选项并跟踪浏览器使用ngrep发送的数据:

>将enctype设置为multipart / form-data; charset = utf-8 – >这由于某种原因导致浏览器发送Content-Type:application / x-www-form-urlencoded – 就像它无法使用我指定的enctype.
>向表单标记添加属性:accept-charset =“UTF-8” – >没有效果.
>使用< Meta charset =“UTF-8”> in< head> – >没有效果.

我认为文件上传应该像这样工作.我不希望我的服务器关心不同的编码,而是以标准方式接收数据.但如果不可能,我可以以某种方式从浏览器向服务器发送有关编码的信息吗?我很感激任何建议,谢谢.

解决方法 您必须区分内容(字节)和编码(字节的解释). HTML文件上传功能只传输字节而不关心解释,因为它不仅限于文本文件,而且还能够传输二进制文件.由于您的服务器收到了必须处理解释的字节.

ENCTYPE =多部分/格式的数据; charset = utf-8只是添加有关charset的头信息,以便您的服务器可以处理这个.它在上传文件之前或之后不会触发任何转换.

总结

以上是内存溢出为你收集整理的HTML文件上传中的字符编码全部内容,希望文章能够帮你解决HTML文件上传中的字符编码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1139460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存