WordPress上传含有中文文件出现乱码

最近打算学习安装配置WordPress,当然同时也在学习PHP+MySQL,希望以后
能做一些关于WordPress定制和二次开发,包括主题和插件。在成功安装WordPress3.5中文版之后,就测试了一下。其他的功能之前也熟悉一
点,但是今天上传了一个含有中文的docx文档上去,然后点开附件,发现报错。无法下载和查看开始上传的那个文件,因为中文名文件在上传之后出现了乱码。

解决办法如下:

找到/wp-admin/includes/file.php这个文件,并最如下修改:

function wp_handle_upload( &$file, $overrides = false, $time = null ) {
//….
// Move the file to the uploads dir
//$new_file = $uploads['path'] . “/$filename”;
// 修正中文文件名编码问题
$new_file = $uploads['path'] . “/” . iconv(“UTF-8″,”GB2312″,$filename);

//…

//return
apply_filters( ‘wp_handle_upload’, array( ‘file’ => $new_file, ‘url’
=> $url, ‘type’ => $type ), ‘upload’ );
// 修正中文文件名编码问题
return
apply_filters( ‘wp_handle_upload’, array( ‘file’ => $uploads['path']
. “/$filename”, ‘url’ => $url, ‘type’ => $type ) , ‘upload’);

修改完上传至服务器,问题就解决啦,其实很简

时间: 2025-01-20 15:21:10

WordPress上传含有中文文件出现乱码的相关文章

WordPress上传中文附件乱码解决方法

熟悉PHP的朋友可能会很快解决问题,但不熟悉PHP代码的朋友看过此文章相信一定能解决你的问题,接下来就分享下我的解决wordpress上传中文文件名乱码的心得吧~: 找到/wp-admin/includes/file.php这个文件,并最如下修改:  代码如下 复制代码 function wp_handle_upload( &$file, $overrides = false, $time = null ) { //-. // Move the file to the uploads dir /

关于jsp-servlet实现文件上传的中文乱码问题

问题描述 关于jsp-servlet实现文件上传的中文乱码问题 servlet控制台打印出的文本中文显示的是问号,jsp页面,以及上传的文件都可以正常显示中文.请问怎么回事?项目编码,单个文件编码都设置成了utf-8,我单独写一个非servlet的java小程序控制台是可以显示中文的. 解决方案 这个也需要设置编码的,,,, 解决方案二: 用的websphere做服务器,这个需要设置编码吗? 解决方案三: 你控制台打印的文本是从哪里取来的,如果是从客户端获取来的请求参数的话,而又没有进行编码处理

java中文乱码-java开发前端ftl页面上传一个中文的字段到java后台变成乱码!

问题描述 java开发前端ftl页面上传一个中文的字段到java后台变成乱码! 有没有比在后台写一些转换格式的代码更简单的方式?是不是我哪里的格式没有设置好? 解决方案 找到答案了.原来是我tomcat的编码格式没有设置成utf-8. 解决方案二: ftl文件默认的编码格式是GBK的,但是它输出的编码格式是utf-8的.中文就会显示乱码.在改变ftl文件的编码格式之前,将页面整个copy到txt文档中,然后改变编码格式之后,再将txt文件中的内容复制到原来的文件中. 解决方案三: 客户端 编码格

ssm-MultipartFile 图片上传后中文乱码

问题描述 MultipartFile 图片上传后中文乱码 String filename = myfile.getOriginalFilename(); 原本文件名称:单身汪.jpg 获取:???è???±?.jpg 解决方案 form上传的?post请求?控制台输出编码集不一致?打个断点,看看是在怎么时候乱码的! 解决方案二: String filename = new String(myfile.getOriginalFilename().getBytes(),"编码名称");

unicodeencodeerror-请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError

问题描述 请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError 各位朋友们好,我用虚拟机在本地python manage.py runserver 0.0.0.0:8082,通过admin页面上传文件: "作品.txt" 这个文本文件是成功的, 我把这个部署到阿里云服务器上,同样在admin页面上传该文件,却报错: UnicodeEncodeError at /admin/score/operatevideo/add/,'ascii' c

PHP实现文件上传和多文件上传_php技巧

在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一.值得高兴的是,在PHP中实现文件上传功能要比在Java.C#等语言中简单得多.下面我们结合具体的代码实例来详细介绍如何通过PHP实现文件上传和多文件上传功能. 要使用PHP实现文件上传功能,我们先来编写两个php文件:index.php和upload.php.其中,index.php页面用于提交文件上传的表单请求,upload.php页面用于接收上传的文件并进行相应处理. 首先,我们来编写一个简单的index.

javadbf 读取上传的dbf文件时,不能正确读取某些类型的数据

问题描述 javadbf 读取上传的dbf文件时,不能正确读取某些类型的数据 如题,读取Double.Integer.DateTime.Varchar类型的数据时出现乱码,而Character.Numeric.Date.Float能正确读取. 解决方案 byte[] b = new byte[fis1.available()]; fis1.read(b); cqPO.setDataSourceBlob(Hibernate.createBlob(b));// 只能通过字节读取 看了下b中的数据,对

aspx页面,pc端可上传160mb的文件,手机访问却连56mb的都上传失败,求解释

问题描述 aspx页面,pc端可上传160mb的文件,手机访问却连56mb的都上传失败,求解释主要并不是报错黄页,而是直接无法找到页面,我尝试将附件的名称由中文改成英文字母abc.zip还是不行 解决方案 本帖最后由 mailaidedt 于 2015-05-21 09:20:02 编辑解决方案二:参考:解决方案三:如果"pc端可上传160mb的文件"正确,那么就跟服务器端的配置没有关系了.你可以先把手机在wifi环境下.访问局域网里的asp.net应用网站测试一下.如果上传情况很好,

编码-php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!

问题描述 php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了! php中编码为:header('content-type:text/html;charset=gbk');php中加了此句:mysqli_query($dbcset names 'gbk'"");php脚本编码格式为:ANSI数据库链接校对为:gbk_general_cimysql字符集:utf8我用此句:set names 'gbk' 将其改为'gbk' 解决方案 把PHP