我有一个简单的HTML表单:
<form action="/file/import" method="POST" enctype="multipart/form-data">
<input id="csvFile" type="file" name="file">
</form>
Run Code Online (Sandbox Code Playgroud)
我在上传使用不同字符集保存的CSV文件时遇到问题.是否有可能使浏览器将任何文件转换为UTF-8并以这种方式发送到服务器?
在上传最初保存在ISO-8859-2中的文件后,我尝试了几个选项并跟踪浏览器使用ngrep发送的数据:
设置enctype为multipart/form-data; charset=utf-8- >由于某种原因导致浏览器发送Content-Type: application/x-www-form-urlencoded- 就像它无法使用我指定的enctype.
添加form标签属性:accept-charset="UTF-8"- >无效.
使用<meta charset="UTF-8">in <head>- >无效.
我认为文件上传应该像这样工作.我不希望我的服务器关心不同的编码,而是以标准方式接收数据.但如果不可能,我可以以某种方式从浏览器向服务器发送有关编码的信息吗?我很感激任何建议,谢谢.