gpt4 book ai didi

php - PHP表单上传文件,文件名UTF编码错误

转载 作者:可可西里 更新时间:2023-10-31 23:06:57 26 4
gpt4 key购买 nike

除了我上传文件并给它自己的名字(通过 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??

对于其他人,这篇文章可能会有所帮助:How to handle user input of invalid UTF-8 characters?

最佳答案

众所周知,PHP 文件系统函数会破坏非 ASCII 文件名。

我建议您去除/转换所有非 ASCII 字符,或者,如果这不可能,请尝试使用 utf8_[en/de]code

另见 How to handle user input of invalid UTF-8 characters? .

关于php - PHP表单上传文件,文件名UTF编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com