JavaScript / HTML / Unicode重音:á!=á

时间:2011-01-20 03:28:16

标签: javascript html unicode

我想检查用户提交的字符串是否与我的回答键中的字符串相同。有时这些词语涉及西班牙语口音(如sábado),这使得条件总是错误的。

我有Firebug日志$('#answer').val(),它显示为sábado。 (á来自一个插入值á的按钮(如果这很重要),而记录答案键的答案显示sábado(我是如何在实际的答案中写的)

我尝试使用普通&aacute替换答案密钥中的á,但它仍然不起作用,并产生Unicode菱形问号。当我这样做并且还替换了使用户提交á的按钮的值时,条件正常,但是按钮,用户字符串和答案字符串都有奇怪的Unicode菱形问题-mark。

我也尝试在这两个地方使用á,这与使用á没有什么不同。我的HTML和Javascript都在使用charset="utf-8"

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

如果您一直使用UTF-8,除了编码语法(即<>&和 - 属性 - {{1>之外,不需要HTML实体}})。

对于其他任何事情,请使用正确的字符,您的问题应该消失 - 直到您遇到unicode规范化问题,即"'a\u0301'之间的差异......

答案 1 :(得分:0)

问题是你没有在两个字符串中使用真正的UTF-8字符(输入的答案和密钥)。你不应该提供“一个插入价值button的按钮” - Re:“如果重要的话,那就是它!”

字符应由键盘输入系统添加。而你的比较字符串也应该只有utf-8个字符。它不应该是字符实体。