最近一客户wordpress网站搬家时,遇到一个问题,使用的是美国cpanel主机空间,他的wordpress里所有的图片都是中文文件名。
用通常的wordpress转移方式把文件和数据库备份,再到新空间导入之后,发现中文文件名的图片都是无法显示的。
经过几番尝试发现:
必须是在原cpanel里压缩成.tar格式,然后上传到新主机里解压,中文就可以保存下来,而解压成.zip是不行的。
分析原因可能是tar和zip的压缩和解压的方式不同,导致他们对文件名编码的处理方式不一样。
总之,.tar格式的压缩方式才可以完全保留正确的中文编码,而.zip会导致乱码。当然最好不要用中文名称和大写字母去命名文件,在linux主机中是区别大小写和中文会显示乱码。