javascript - 用表单上传文件,因为multipart/form-data,中文字段为乱码,怎么解决呢?
怪我咯
怪我咯 2017-04-10 17:03:28
[JavaScript讨论组]

祝大家新年快乐!!

我是用yii2的表单,之前我表单没有带有上传文件<input type="file">时,中文字段是正常的,但加上文件上传后,因为要设'enctype' => 'multipart/form-data',然后上传就出问题了,我发现$_POST中的中文字段全部变乱码,存到数据库的中文也变乱码了。用accept-charset 设置字符集也没有效果。这个该怎么解决呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
天蓬老师

可以这样:

enctype="multipart/form-data;charset=utf-8"

其他途径:

  1. 最好用error_log( print_r($_POST,1)) 输出来看看,不用自带的debuger.

  2. 可以修改php.ini: default_charset = "utf-8"

  3. 可以修改.htaccess: AddCharset UTF-8 .php

天蓬老师

你这个页面是提交之后直接返回的 $POST 的值吗?
首先把表单页面和显示$_POST的页面改成相同的字符编码,比如

 <meta charset="UTF-8">
PHP中文网

建议把文件上传放到单独的一个form表单里

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号