[英]How to pass accented characters from JavaScript to HTML?
在JavaScript中,我創建了一個字符串,其中包含重音字符,例如“ò”或“à”,例如“òà”
我似乎無法在html中創建顯示重音字符的文本節點:如果我直接傳遞它們,我會得到“黑色菱形中的白色問號”; 如果我用相應的html實體替換重音字符,我會逐字打印實體。
這個功能
function showAccents() {
s1="ò à";
s2 = s1.replace(/ò/, "ò").replace(/à/, "à");;
var eD = document.getElementById("accent1");
var eHT1 = document.createTextNode(s1);
var eHT2 = document.createTextNode(s2);
eD.appendChild(eHT1);
eD.appendChild(eHT2);
}
生成以下文本:
ò&agrave
如何轉換字符串以獲取HTML中的重音字符?
您可能缺少頁面編碼。 確保您的HTML包含以下內容:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
或者這個(HTML5):
<meta charset="utf-8">
編輯
現在看來問題是你的Javascript文件的編碼。 它也需要是Unicode(例如編碼為UTF8),就好像它以非Unicode編碼保存一樣,你可能會被瀏覽器誤解,而瀏覽器可能會用不同的編碼讀取這些。 只需在文本編輯器中打開它並將其保存為UTF8(這樣做會在文件的開頭包含一個BOM,它將指定其編碼,解決問題)
結果我的xemacs用ISO-8859-1編碼; 當前版本無法輕松設置為UTF-8。
解決方案是在xhtml的標題中將編碼信息從“utf-8”更改為“iso-8859-1”:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="http-equiv" content="Content-type: text/html; charset=ISO-88591"/>
<script type="text/javascript" src="js/conjutils.js" charset="iso-8859-1" />
<script type="text/javascript" src="js/xmlutils.js" charset="iso-8859-1" />
<link rel="stylesheet" type="text/css" href="css/conjugation.css" />
<title>Conjugation</title>
</head>
現在我可以在我的js文件中將字符串設置為'àò',瀏覽器將正確顯示它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.