我在将表单数据发布为“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 在 PHP 中作为 multipart/form-data 发布时的相关问题,但它建议重新安装 apache/php,这对于我的情况是不可能的。这是一个已知的 PHP/Apache 错误吗?