将重音字符输入Chrome中的输入类型电子邮件时,会将值更改为奇怪的值.
输入电子邮件时:test@Bücher.ch输入值为:test@xn--bcher-kva.ch.
$('#email').val() // --> test@xn--bcher-kva.ch document.getElementById('email').value // --> test@xn--bcher-kva.ch
输入类型文本或其他主流浏览器不会发生这种情况.
解决方法
我认为这不是错误,这是因为规范. Chrome只是以与其他浏览器不同的方式遵循规范:)并将IDN转换为其ascii表示.
https://code.google.com/p/chromium/issues/detail?id=410937
要解码它,你可以使用一些第三方解决方案,如