我有两个Javascript字符串:"_strange_chars_µö¬é@zendesk.com.eml"
(f1
)和"_strange_chars_µö¬é@zendesk.com.eml"
(f2
)。乍一看,它们看起来完全相同(在StackOverflow上可能是这样的;我不确定当它们被粘贴到类似这样的表单中时会发生什么)。然而,在我的应用程序中,
f1[16] // ö
f2[16] // o
f1[17] // ¬
f2[17] // ̈
也就是说,当f1
使用ö字符时,f2
用一个o和一个分音符¨作为单独的字符。我该进行什么比较以展示这两个字符串是“相等”的?
<meta charset="utf-8">
,表单(文件输入是第一个字符串的来源)声明了accept-charset="UTF-8"
。当然,HTTP 请求和响应也是 UTF-8 的。我认为这只是不同系统(浏览器与服务器)使用不同的 Unicode 规范化的情况。(或者使用规范化与否的情况)。 - James A. Rosen