在Web应用程序中,有一个具有以下编码的HTML页面:
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<meta content="en" http-equiv="Content-language">
<meta content="text/html; charset=UTF-8" http-equiv="Content-type">
实际发生的事情是在这个页面上,我试图显示 SOAP 请求的结果。为了响应此 SOAP 请求,我收到以下代码:
èéàùìçò
对于以下字符:
èéàùìçò
令人惊讶的是,除了页面编码为 UTF-8 之外,这些字符在 HTML 页面上正确显示如下:
èéàùìçò instead of �������
我无法理解如何将这些代码正确转换为 UTF-8 格式,因为这些代码属于 ISO-8859-15。有什么想法吗?
最佳答案
诸如è
之类的字符引用具有基于字符的Unicode编号的含义,完全独立于页面的字符编码。这一直是 HTML 的原则,只有非常早期的浏览器有时才会犯这个错误。这是使用字符引用的主要好处之一。
Unicode 中的前 256 个代码位置与 ISO-8859-1 代码位置相同,而 ISO-8859-1 代码位置又与 ISO-8859-15 代码位置相同,除了几个字符(不包括示例中的字符)。
关于utf-8 - 法语字符的字符编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15567687/