我有一个JavaScript对象,我用它来填充表单元素(使用jQuery):
var attribute = { name : '̈́Type' };
$('#container').html('<input type="text" value="'+attribute.name+'/>');
但是输出显示了一个不可选择的奇怪字符:
尝试时也会出现此字符:
alert(attribute.name); //in Firefox
console.log(attribute.name); //in Chrome
我的JavaScript文件具有UTF8编码。
这个角色是什么,我该如何让它消失?
答案 0 :(得分:1)
这个奇怪的角色代码U+0344
被称为COMBINING GREEK DIALYTIKA TONOS
。
说明强>
在版本1.1中将U+0344添加到Unicode。它属于该块 Combining Diacritical Marks中的Basic Multilingual Plane。
此字符为Nonspacing Mark并继承其脚本属性 来自前面的人物。
字形是字形Canonical和U+0301的U+0308组合。它有一个 Ambiguous东亚宽度。在双向上下文中,它充当 Nonspacing Mark并且没有镜像。在文本U+0344中表现为 结合标记关于换行符。它的句子类型为Extend 和Extend用于分词。 Grapheme Cluster Break是Extend。
答案 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)
如果你真的放大你的问题,你会看到它已经存在。您只需要重新输入它。