php - 服务器迁移后图像文件名中的特殊字符编码

标签 php wordpress encoding

我已将 WordPress 网站从 Hostgator 共享主机迁移到 Ubuntu Digital Ocean LAMP 堆栈。

当我导出带有特殊字符的图像文件时出现问题,例如文件 operários_tarsila-1024x640.jpg

当 WordPress 尝试访问该文件时,它会显示错误。我找到了原因:

我可以通过检查元素看到 Wordpress 尝试调用:http://mywebsite.com/wp-content/uploads/2013/02/oper%C3%A1rios_tarsila-1024x640.jpg并且服务器返回 404 错误。

但是,如果我在浏览器中键入此 URL:http://mywebsite.com/wp-content/uploads/2013/02/opera%CC%81rios_tarsila-1024x640.jpg它工作并显示图像。

所以,这似乎是 á 编码从 %C3%A1(á 字符)到 a< 之间的差异+%CC%81(结合重音符号)是导致 WordPress 不显示我的图像的原因。

所以现在我的服务器中有数以千计的重音图像文件名,其结构为 character+ combining accent 并且 WordPress 调用具有结构 accented character 的图像文件名

有没有办法用 bash 用比较表重命名它们?或者让 Apache 意识到这些差异并在发生这种混淆时指向正确的文件的方法?

最佳答案

显然问题在于如何在新服务器上解压缩备份。

有两种方法可以解决这个问题:

  1. 手动不重命名文件,然后修改数据库并更改数据库中的文件名(这种恶意行为可能很危险,最好备份数据库)。

  2. 使用 Filezilla 上传文件,但将其设置为强制使用 UTF-8 字符集编码。

文件> 站点管理器> {YOUR SITE}> 标签字符集> 强制 UTF-8

关于php - 服务器迁移后图像文件名中的特殊字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325761/

相关文章:

php - PayPal Rest API PHP 服务端点错误

PHP Scrape 文章摘录,如可读性

wordpress - 如何在 wordpress 管理面板中为自定义帖子类型添加媒体附件

python - 使用 BeautifulSoup4 和 Python 3.3 解析错误

ios - 如何加密/解密安全 QR - 在 Swift 中编码为可读格式

php - 将下拉列表中的多个选择插入一行

javascript - 我想根据文本值更改表循环中文本的颜色

css - wordpress 自定义 css 类

CSS:在与容器宽度相同的文本小部件内创建链接

c# - 如何在 GUID 中存储数据