最近一客户 WordPress 企业主题网站搬家时,遇到一个问题,使用的是美国 cpanel 主机空间,他的 WordPress 里所有的图片都是中文文件名。
用通常的 WordPress 转移方式把文件和数据库备份,再到新空间导入之后,发现中文文件名的图片都是无法显示的。

经过几番尝试发现:
必须是在原 cpanel 里压缩成.tar 格式,然后上传到新主机里解压,中文就可以保存下来,而解压成.zip 是不行的。

分析原因可能是 tar 和 zip 的压缩和解压的方式不同,导致他们对文件名编码的处理方式不一样。

总之,.tar 格式的压缩方式才可以完全保留正确的中文编码,而.zip 会导致乱码。当然最好不要用中文名称和大写字母去命名文件,在 linux 主机中是区别大小写和中文会显示乱码。