Rumah > pembangunan bahagian belakang > tutorial php > javascript - 用表单上传文件,因为multipart/form-data,中文字段为乱码,怎么解决呢?

javascript - 用表单上传文件,因为multipart/form-data,中文字段为乱码,怎么解决呢?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-06 20:18:40
asal
2520 orang telah melayarinya

祝大家新年快乐!!

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

回复内容:

祝大家新年快乐!!

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

可以这样:

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的页面改成相同的字符编码,比如

<code> <meta charset="UTF-8"></code>
Salin selepas log masuk

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan