如何使用Javascript将此文本转换为正确的HTML字符

时间:2015-07-03 05:01:09

标签: javascript html encoding utf-8 converter

如何使用Javascript将此文本转换为正确的HTML字符:

  

'PingAsyncTask - Token v \ ufffdlido'

放入你的控制台:

  

console.log('PingAsyncTask - Token v \ ufffdlido');

我已经尝试了所有常用功能:

  1. https://gist.github.com/chrisveness/bcb00eb717e6382c5608
  2. http://monsur.hossa.in/2012/07/20/utf-8-in-javascript.html
  3. http://jsfromhell.com/geral/utf-8
  4. 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

如果您的文件已经是UTF-8,则不需要做任何特别的事情。该字符串已在JavaScript中正确编码,因此当您将其写入文档时,它将正确显示。你可以在这个小提琴中看到它:https://jsfiddle.net/baar4ew8/

P.S。代码中的字符(\ufffd)是U+FFFD,Unicode替换字符。大多数字体都将其渲染为黑色菱形,里面有问号,或者只是一个空框。以下是Stack Overflow如何呈现它:

  

如果您在输出中看到了这一点,则表示您的字符串正确呈现。

如果您认为自己应该看到其他角色,那么您的问题就不在HTML或JavaScript中 - 它与您的数据来源有关,无论可能是什么。当程序将文本从非Unicode编码转换为Unicode编码(如UTF-8)时,Unicode中不存在的字符将替换为U + FFFD(�)-hence"替换字符。&# 34;如果您期望Unicode中存在某些字符,但是您获得U + FFFD,那么将文本转换为UTF-8的程序可能不知道它是什么编码原来在,所以转换错了。例如,如果将带有编码X的文本存储在具有编码Y的数据库表中,而不先将其转换为编码Y。