mysql chartset utf 8_浏览器的Chart set(UTF8,GBK等)设置对Javascript无效?

现象

打开weibo.com

登录,跳转到首页

通过浏览器菜单更改编码,观察到:

当编码设置为UTF8时,整个页面正常;(测试环境:Chrome,Safari)

当编码设置为GBK / Big5 / Shfit JIS(一种日文编码),除title(浏览器Tab里显示的)和页面底部的文本乱码外,页头及页面主体都正常显示(测试环境:Chrome,Safari)

当编码设置为ISO 2022-KR(一种韩文编码)时,title和页面底部的文本乱码,页头及页面主体空白(测试环境:Safari)

无论浏览器编码怎么改变,服务端返回的内容都是UTF-8编码

猜测

上述会乱码的title和页面底部都是以UTF8中文写在HTML源码中的,HTML源码由浏览器渲染,故浏览器编码设置不是UTF8时就会乱码。

而页头、页面主体的内容是以utf8串(如\u4e2d\u56fd\u5de5\u5546\u94f6\u884c\u7535\u5b50\u94f6\u884c)的形式写在script标签中,或者从服务端ajax请求得到的

浏览器只负责Javascript语法解析及执行,不负责JS输出中文的编码展示,故,js output里的中文显示跟浏览器的Charset设置无关

求助

1. 上面只是我的猜测,我分别用browser javascript charset render在google上搜索了半天,没找到官方权威的说法来证实我的猜测,求前端专家指点迷津,给个权威的链接。

2. 切换成韩文为什么js也不正常了呢?是韩文编码环境下,script标签里的js语法解析出错了吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值