修复WordPress迁移后中文名图片无法显示的问题

tech

This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.

上一片文章里面我说到了要解决站点大量图片404的问题,现在已经解决了。

问题的起因是这样的:我的上一个主机上只能在Panel内选择压缩成为zip文件然后下载,当时我为了迁移站点,将所有文件全部压缩了;但是当时我没有意识到的问题是:zip格式压缩会导致文件名的编码被改变,于是重新上传解包之后,文件的实际编码与wp数据库中的编码变得不一致了,这导致所有的非英文字符命名的文件全部都无法正确的被访问。

这个锅….我不知道该让谁背;但在这告诫大家,对于wp尽量不要使用中文作为文件名,因为这一套东西对中文的支持并不很好。

产生这个问题之后,我去了各个地方寻求解决方案,最终都无果;但是我看到 WP大学上的这篇文章 中,作者遇到了跟我一样的问题,病提供了一个基于Framework2.0的小工具去解决;但很不幸的是,我实验了4台电脑(寝室里面的),没有一台能够正常的使用这个程序,在改文件名的时候始终会出现Script的执行错误。

但是我了解了它大概的执行原理:讲所有中文附件名改成拼音,同时将数据库中的文件名也替换掉;有了这个思路,我就可以重写一遍。

于是今天闲下来了,就花了2个小时,将这个小工具重写了一遍。现在站点中的大量图片404的问题已经解决了。

我已经把这个工具发到了git上,地址如下:WPChineseAttachFix

希望能帮助到大家,大家使用愉快。

Author: 桂小方

Permalink: https://init.blog/1508/

文章许可协议:

如果你觉得文章对你有帮助,可以 支持我

Comments