Javascript 在谷歌浏览器中,日文字符作为其他符号出现
我有一个非常简单的JavaScript应用程序,它必须呈现一些日语字符(特别是半宽度假名) 这些都是:ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン 但是,当它们被渲染到屏幕上时,它们会显示为其他随机字符,如下所示 更奇怪的是,如果我将随机渲染的字符复制并粘贴到我的代码编辑器中,它就会变回日语 我知道Chrome能够渲染日文字符,因为当我输入这个问题时,我现在就可以看到它可以这样做。所以,我完全不知道为什么在我的程序中会发生这种情况 Firefox似乎没有这个问题,但Safari有 这是我的密码。我把所有字符都放在一个字符串中,我随机选择一个来显示(这是出于艺术目的) 然后,随机选择的字符显示在li标记内Javascript 在谷歌浏览器中,日文字符作为其他符号出现,javascript,google-chrome,unicode,character,mojibake,Javascript,Google Chrome,Unicode,Character,Mojibake,我有一个非常简单的JavaScript应用程序,它必须呈现一些日语字符(特别是半宽度假名) 这些都是:ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン 但是,当它们被渲染到屏幕上时,它们会显示为其他随机字符,如下所示 更奇怪的是,如果我将随机渲染的字符复制并粘贴到我的代码编辑器中,它就会变回日语 我知道Chrome能够渲染日文字符,因为当我输入这个问题时,我现在就可以看到它可以这样做。所以,我完全不知道为什么在我的程序中会发生这种情况
let li = document.createElement("li");
li.appendChild(document.createTextNode(randomChar()));
以下是我的应用程序围绕的唯一HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>Japanese Text</title>
<meta charset="utf-8" />
<meta name="google" value="notranslate">
<link rel="stylesheet" href="styles.css">
<script src="generate.js"></script>
<script src="Column.js"></script>
</head>
<body>
<div id="lines"></div>
</body>
</html>
日文文本
我也可以在我的Mac电脑上复制
Chrome的检查员显示正在使用字体“Songti SC”。切换到其他字体可以修复此问题
更多详细信息将在中讨论。这是一个编码问题。您可能需要在HTML中指定编码。不同的浏览器可能会对使用哪种浏览器做出更好/更坏的猜测,从而导致不同的行为。删除它会将随机字符更改为不同的随机字符这应该足够了。你试过了吗<代码>更改了它,我得到了相同的结果这看起来像是将JIS转移到Mac Roman。你就是Josh!我把字体系列改成了无衬线字体,一切正常。
<!DOCTYPE html>
<html>
<head>
<title>Japanese Text</title>
<meta charset="utf-8" />
<meta name="google" value="notranslate">
<link rel="stylesheet" href="styles.css">
<script src="generate.js"></script>
<script src="Column.js"></script>
</head>
<body>
<div id="lines"></div>
</body>
</html>