我必须通过post ISO-8859-2编码发送一些值。
当接收者收到并显示消息时,情况就像
Ä…,ć,Ä™,Ĺ‚,Ĺ„,Ăł,Ĺ›,Ĺş,Ĺź,Ä„,Ć,Ę,Ĺ,Ĺƒ,Ă“,Ĺš,Ĺš,Ĺť
(堆栈溢出不能通过粘贴显示所有这些溢出)。
提交表单的html页面示例:
<html>
<SCRIPT LANGUAGE="Javascript">
function OnLoadEvent() {
document.downloadForm.submit();
}
</SCRIPT>
<head>
<meta charset="ISO-8859-2">
</head>
<body OnLoad="OnLoadEvent();">
<form name="downloadForm" accept-charset="ISO-8859-2" action="https://url" method="POST">
<INPUT type="hidden" name="Description" value="ŃÓô">
</form>
</body>
</html>
我还写了一个简单的页面来显示一些字符。页面:
<!DOCTYPE HTML>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-2">
</HEAD>
<BODY>
Ńóô
</BODY>
</HTML>
但它也显示了这样的东西:ĹƒĂłĂ,你知道原因是什么吗?如果我觉得好的话,这个字符集应该能处理所有的拉丁文字符。
发布于 2022-06-28 06:52:33
这表明实际文本实际上不是ISO-8859-2编码的.您表示是这样,导致浏览器将字节视为ISO-8859-2,但实际上字节是UTF-8编码的。“Ńóo”的UTF-8编码字节是c583 c3b3 c3b4。ISO-8859-2对这个字节序列的解释类似于“ĹóÔ。
实际上,在文本编辑器中将HTML文件保存为ISO8859-2。
https://stackoverflow.com/questions/72781680
复制相似问题