我有以下问题:
我用的是档案应用程序获取页面文件FTP进行备份,以便以后需要恢复。
如果要用获得的文件恢复网站FTP,问题是文件被UTF-8
编码了,当它们被下载时,它们就变成了ANSI
。当我恢复文件时,我将 替换UTF-8
为ANSI
,现在我到处都出现语法错误。
有没有什么方法可以在不丢失数据的情况UTF-8
下逆转转换?ANSI
存在问题的文件之一的片段:
"italic" => "http://fonts.gstatic.com/s/almendra/v11/H4ciBXK@
显示错误:
Parse error: syntax error, unexpected '@', expecting ')' in
... / Avada / includes / lib / inc / redux / custom-fields / typography / googlefonts-array.php
on line 3
预防该问题的流程:
http://chaosrequiem.com/main/problema-comun-al-subir-archivos-con-filezilla/
提前致谢
答案1
已经太晚了:角色已经被毁掉了。
问题正是您链接中描述的问题:您的文件采用 UTF-8 编码,每字节使用 8 位。您已将它们传输为 ANSI,每字节只有 7 位。发生的情况是所有字节都被截断为 7 位,因此高位丢失并变为零。
这在 UTF-8 中尤其严重,因为非 ANSI 字符可能被编码为多个字节,而当这种情况发生在多字节字符上时,每个字节都会变成一个单独的字符。
如果您无法恢复旧文件(可能是从旧备份中恢复),则必须手动更正它们。由于被破坏的字符数量有限,如果您识别出此类字符,则可能能够使用某些文本替换实用程序,一次性将所有文件中的某些字符序列替换为原始序列。
这是手动工作,但没有其他解决方案。