题
是否有一种方法可以确定浏览器编码是否设置为/支持JavaScript的“ UTF-8”?
我想根据浏览器设置透明地发送“ UTF-8”或“英语”字母(即无需询问用户)
编辑:对不起,我对这个问题不太清楚。在浏览器中,编码通常指定为 Auto-Detect (or) Western (Windows/ISO-9959-1) (or) Unicode (UTF-8)
. 。如果用户已将默认设置设置为Western,则我发送的字符不可读取。在这种情况下,我想通知用户将编码设置为 "Auto Detect" (or) "UTF-8"
.
解决方案
首先,UTF-8是Unicode字符集的编码。英语是一种语言。我认为您的意思是“ ASCII”(角色集及其编码),而不是英语。
第二,ASCII和UTF-8重叠;任何ASCII字符在发送与UTF-8时完全相同的位。我敢肯定,所有现代浏览器都支持UTF-8,而那些不将其视为Latin1或CP1252(两者都重叠ASCII)的浏览器,因此它仍然可以正常工作。
换句话说,我不会担心。
只需确保在HTTP标题或元标记中正确将您的文档标记为UTF-8即可。
其他提示
我假设输出的长度(输出后您会读取)可以告诉您发生了什么(或者,如果没有JavaScript,请使用Accept-Charset HTTP标头,并假设在接受Unicode时支持UTF-8编码)。
但是,您最好担心发送正确的UTF-8标头等,以及可访问性的后备方案,而不是担心当前的浏览器的UTF-8功能。
不隶属于 StackOverflow