現象打開weibo.com登錄,跳轉到首頁通過瀏覽器菜單更改編碼,觀察到:當編碼設置為UTF8時,整個頁面正常;(測試環境:Chrome,Safari)當編碼設置為GBK/Big5/ShfitJIS(一種日文編碼),除title(瀏覽器Tab里顯示的)和頁面底部的文本亂碼外,頁頭及頁面主體都正常顯示(測試環境:Chrome,Safari)當編碼設置為ISO2022-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輸出中文的編碼展示,故,jsoutput里的中文顯示跟瀏覽器的Charset設置無關求助1.上面只是我的猜測,我分別用browserjavascriptcharsetrender在google上搜索了半天,沒找到官方權威的說法來證實我的猜測,求前端專家指點迷津,給個權威的鏈接。2.切換成韓文為什么js也不正常了呢?是韓文編碼環境下,script標簽里的js語法解析出錯了嗎?
瀏覽器的Chart set(UTF8,GBK等)設置對Javascript無效?
江戶川亂折騰
2019-04-06 16:57:30