JavaScript输出中奇怪的不可选择的字符

时间:2013-12-17 12:25:09

标签: javascript

我有一个JavaScript对象,我用它来填充表单元素(使用jQuery):

var attribute = { name : '̈́Type' };
$('#container').html('<input type="text" value="'+attribute.name+'/>');

但是输出显示了一个不可选择的奇怪字符:

enter image description here

尝试时也会出现此字符:

alert(attribute.name); //in Firefox
console.log(attribute.name); //in Chrome

我的JavaScript文件具有UTF8编码。

这个角色是什么,我该如何让它消失?

3 个答案:

答案 0 :(得分:1)

这个奇怪的角色代码U+0344被称为COMBINING GREEK DIALYTIKA TONOS

说明

  在版本1.1中将

U+0344添加到Unicode。它属于该块   Combining Diacritical Marks中的Basic Multilingual Plane

     

此字符为Nonspacing Mark并继承其脚本属性   来自前面的人物。

     

字形是字形CanonicalU+0301U+0308组合。它有一个   Ambiguous东亚宽度。在双向上下文中,它充当   Nonspacing Mark并且没有镜像。在文本U+0344中表现为   结合标记关于换行符。它的句子类型为Extend   和Extend用于分词。 Grapheme Cluster Break是Extend

参考: http://codepoints.net/U+0344

答案 1 :(得分:1)

奇怪的字符是unicode变音符号(\u0344),并应用于'声明中的第一个单引号{ name : '̈́Type' }

只需删除有问题的单引号并重新输入即可。

你有类似的东西:

var strange_character = '  \u0344';

var attribute = { name : 'Type' };
$('#container').html('<input type="text" value="'+strange_character + attribute.name+'"/>');

答案 2 :(得分:1)

如果你真的放大你的问题,你会看到它已经存在。您只需要重新输入它。See this screenshot