无法正确将包含俄文字母的 .html 文件的源代码保存为 .txt

无法正确将包含俄文字母的 .html 文件的源代码保存为 .txt

当我保存这个俄罗斯网站的页面源代码时:

http://www.mail.ru/

作为.txt文件,所有俄文字母都变成了汉字(我目前正在使用一台中国电脑),但是当我保存另一个俄罗斯网站的另一个页面时:

http://starling.rinet.ru/cgi-bin/response.cgi?root=/usr/local/share/starling/morpho&morpho=0&basename=\usr\local\share\starling\morpho\ozhegov\ozhegov&first=4001

同样作为.txt文件,所有俄语字母都正确保存。

你知道为什么会发生这种情况吗?

答案1

您提到的网页使用不同的编码。mail.ru 页面使用西里尔文 Windows-1251,rinet.ru 页面使用 Unicode UTF-8。

可能是 mail.ru 源文件保存的与服务器发送的完全相同,但您的文本编辑器未检测到编码或根本不支持该编码。查看您的文本编辑器是否有编码选项或菜单,然后尝试不同的编码。

作为测试,您可以将文本文件拖放到您的网络浏览器中。如果俄语文本显示不正确,您可以尝试不同的编码。根据您的网络浏览器,您可以使用右键单击 → 编码、页面菜单 → 编码或视图 → 编码等操作。

此测试可以帮助确认文本编辑器是否未检测到编码,或者文本文件的编码在保存时是否被错误地转换。

答案2

从 html 源代码可以看出,这两个页面具有不同的编码:mail.ru 采用 windows-1251 编码,而第二个链接采用 utf-8 编码。

UTF-8 在世界各地使用,可用于编码所有可能的 Unicode 符号,因此每台计算机上都应该可以看到 utf-8 格式的文本(如果安装了正确的字体)。

Windows-1251 是 1 字节编码,这意味着它只能用于编码 256 个符号(包括特殊符号、数字和英文字母,包括小写和大写),并且仅在后苏联时期使用。世界上使用了许多 1 字节编码,您的文本编辑器可能默认使用一些中文编码(或只是错误地识别了编码)。也许可以在其设置中更改它,或者您可以将文本从一种编码转换为另一种编码。

相关内容