1

我有一个 PHP 脚本来发布文章。在我们添加文件上传支持之前,它工作得非常好。要启用文件上传,我们必须将标签的 enctype 更改为 multipart/form-data。现在,每当我们尝试提交包含多字节字符的文章时,在您通过 $_POST 收到它们后它们就会变成乱码。如果我们删除表单的 enctype,那么它就可以正常工作。

我们在网上搜索了一个以 php 为中心的解决方案,但没有运气。tag 有一个 accept-charset 属性,但它在 IE 中不起作用。JSP 有一个解决方案,当表单发布为 multipart/form-data 时,UTF-8 文本会出现乱码,但 PHP 没有解决方案。所以,请帮忙!

4

2 回答 2

2

如果您使用 PHP 5.4.x,将 mbstring.http_input 从“auto”设置为“pass”可能会解决您的问题。

于 2014-03-08T23:11:40.373 回答
0

重新安装 apache 并重新编译 php 为 linux 上的一些 ppl 修复了它。

我在我的本地主机上也有同样的情况,但在生产服务器上这不会发生。我的本地是 WAMP,生产是 LAMP,一切都有相同的版本。

所以对我来说它适用于这些:CentOs 6.3、php 5.4、Apache 2.2.15

顺便说一句,在我的本地, mb_detect_encoding() 显示 'UTF-8' 但字符串还是一团糟。

于 2013-04-29T20:05:32.310 回答