除了当我上传一个文件并给它自己的名字(通过 html 表单中的文本字段)“Åäöô - KARL”之外,一切都工作得很好。
我为我的网站制作了一个自定义文件上传/处理程序/cms,除了文件上传之外,一切正常。
当我通过我的 ftp 程序直接查看文件上传目录时,文件名突然变成了“Åäöô - KARL”。
<meta charset="UTF-8" />
我在每个页面的开头运行 html5- 我在使用没有 BOM 的 UTF-8 编写代码时进行编码
我试过iconv()
了,有什么我遗漏的吗?我怀疑它在 html 表单$_POST['name_of_file']
和运行命令之间
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_POST['name_of_file'])
进展:我实际上做了一个“utf8_decode”,现在文件被保存为正确的名称,虽然现在它在我的网站上显示很奇怪,所以当我想显示它时我必须对其进行编码。
无论如何要绕过必须在任何地方输入 utf8_encode 和 utf8_decode ?
对于其他人,这篇文章可能会有所帮助:如何处理无效 UTF-8 字符的用户输入?