我有一个Zope 3框架,它的界面允许直接编辑浏览器中文件的内容。
到现在为止一切都很顺利。不幸的是,在某些文件上,我不能再编辑它们了,我有以下错误消息:
"The character set specified in the content type (UTF-8) does not match file content." 下面是一张照片:

例如,我设法通过ftp下载了一个可以“编辑”并显示标题的文件:
<meta http-equiv="Content-Type" content="text/html; charset="utf-8"" />
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" />
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)" />
<!-- 3,html,xhtml,charset="utf-8" -->
<meta name="src" content="content_final.tex" />
<link rel="stylesheet" type="text/css" href="content_final.css" />
<script type="text/javascript" src="./jquery.js">
</script>在下面的内容(正文)中,我有这样一个特殊的角色:
<br /> <span class="sectionToc" >6.5 <a
href="section32.html#x40-2480006.5" id="QQ2-40-259">Déplacement le long d’une courbe</a></span>
<br /> <span class="sectionToc" >6.6 <a
href="section33.html#x41-2520006.6" id="QQ2-41-268">Tenseur de Riemann-Christoffel</a></span>我想知道这个问题是否来自于这些特殊的角色: ,’。
你觉得这个怎么样?utf-8在我的HTML文件中不受尊重吗?如何修正此错误,使其能够直接从浏览器编辑?
请告诉我,我需要在导入的HTML页面中添加或插入什么,或者命令(我使用的是vim / Debian GNU/LInux)来应用于它们,以便只有Unicode字符并且完全兼容。
发布于 2022-01-28 06:06:40
根据你提供的信息,我在这里给你我的意见。
似乎存在源代码编码问题。
每个文本文件都有自己的编码。
当表示超出基本ASCII集的字符时,将使用许多不兼容的编码。
目前,Unicode编码是可伪造的,因为Unicode字符集包含了世界上任何预先存在的编码中存在的所有字符。
如果您编写一个字符,您的文本编辑器将其内部保存为一个代码号,基于先前指定的编码。如果用于保存文件的编码与另一个应用程序期望的编码不同,则无法正确识别该字符。
通常,所有现代项目都使用UTF-8编码(由Unicode定义)。
因此,您应该确保所有源文件都以UTF-8文件的形式存储在内部。
据我所知,您可以编辑body文件,正如您所调用的那样。
在这种情况下,您可以尝试在文本编辑器中打开文件,然后将其编码更改为UTF-8,从而匹配无法编辑的ftp文件的编码。
每个现代的面向代码的文本编辑器都应该能够让您以一种方便的方式在所有著名的编码中进行选择。
然后,当然,你会保存你的文件。
另一种方法可能是重写文件,使文件中的所有字符在0x80下面都具有Unicode编码点,因为这些编码点与任何ASCII友好编码兼容,比如非常常用的ISO-8859-1编码。
由于您的法语字符é不属于ASCII集合,您可以使用HTML的符号和语法重写它:
é 十六进制数00E9是十进制233,它是对应于字符:é (Latin Small Letter E with Acute)的代码点。
因此,您的文本如下所示:
Déplacement le long d’une courbe 如果您更喜欢使用十进制代码,那么编写:
Déplacement le long d’une courbe 为了帮助研究字符和其他属性的Unicode代码点,您可以使用以下网站:
添加了
OP在评论中说,他实际上需要使用vim将文件保存到utf-8。
下面是vim的命令:
:set fileencoding=utf-8https://stackoverflow.com/questions/70518365
复制相似问题