gpt4 book ai didi

PHP 5.4 多部分/表单数据 UTF-8 编码

转载 作者:可可西里 更新时间:2023-11-01 13:16:17 29 4
gpt4 key购买 nike

我在将表单数据发布为“multipart/form-data”时遇到 UTF-8 编码问题,没有 multipart/form-data 一切正常。但是因为我必须在同一个帖子上上传文件,所以我需要使用 multipart/form-data。

从 PHP 5.3.x 升级到 PHP 5.4.4-14(与 Debian Wheezy 捆绑)后问题开始,相同的脚本在 PHP 5.3 测试服务器上运行良好。

  • 我的所有文档都以 UTF-8 格式保存并且有 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">标签。
  • 我在不同的计算机上使用不同的浏览器进行了测试
  • mb_detect_encoding() 将发布的字符串检测为 UTF-8
  • 我试过了 AddDefaultCharset utf-8用于 Apache 配置。

在这里您可以测试我的脚本,您可以复制/粘贴以下带有土耳其语字符的字符串(例如字符串:öçşipğopüp)

http://sa.chelona.com.tr/haber-ekle.html

我还在 UTF-8 text is garbled when form is posted as multipart/form-data in PHP 找到了相关问题但它建议重新安装 apache/php,这对我的情况来说是不可能的。这是一个已知的 PHP/Apache 错误吗?

最佳答案

UTF-8Turkish Alphabet ISO-8859-9 做一个简单的转换问题应该解决了

iconv('UTF-8', "ISO-8859-9", $string);

示例输入:öçşipğopüp

示例表格:

<form method="post" enctype="multipart/form-data" action ="self.php">
<input type="text" name="hello" />
<input type="submit" name="test" />
</form>

简单的总结:

var_dump($_POST['hello'],iconv('UTF-8', "ISO-8859-9", $_POST['hello']));

输出

string 'öçşipğopüp ' (length=16)
string 'öçþipðopüp ' (length=11)

关于PHP 5.4 多部分/表单数据 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035444/

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