測試環境,windows xp,ie6、ie8、firefox、chrome,測試結果可能會根據作業系統不同,有所差異
前端需求中經常會碰到前後臺中文編碼的問題,以下羅列了meta charset設定為gbk或utf-8的情況下,中文的編碼的場景和結論:
a鏈結中帶中文
chrome、firefox會根據meta charset屬性,自動轉碼,且編碼帶%
ie也會根據meta charset屬性,傳遞資料,不帶%
有時會碰到前端拼接url中帶中文的問題,這時需要注意,最好對中文部分通過js的encodeuricomponent編碼。注意不能對整個url進行encodeuricomponent編碼,因為encodeuricomponent會對url中的"/"轉碼。
form表單提交
無論get、post提交,ie、chrome、firefox,均會根據meta charset屬性,轉碼,編碼帶%。
在chrome、firefox下,若表單帶accept-charset屬性,則會根據該屬性決定提交中文的編碼
ajax請求(原生)
get請求
chrome根據meta charset屬性,自動轉碼,且編碼帶%
firefox無論utf-8還是gbk,均使用utf-8編碼,編碼帶%
ie無論utf-8還是gbk,均使用gbk編碼
post請求
ie、chrome、firefox,均會使用utf-8編碼,無%
其中chrome、firefox會自動修改charset為utf-8,ie不修改
小結前端與後台合作,遇到中文問題,需要做好溝通,指定中文編碼
碰到需要前端拼接url中帶中文,需要對鏈結中的中文進行encodeuricomponent編碼,以utf-8的格式傳過去。如果後台需要使用gbk的編碼,最好拒絕,因為前端對編碼的轉換較弱。
form中的中文,根據meta charset決定提交的中文編碼,gbk編碼提交就是gbk,utf-8編碼提交就是utf-8
ajax提交(原生),get請求,對中文進行encodeuricomponent編碼,post請求預設為utf-8編碼。若使用jquery的get請求,用data傳遞資料過去,jquery會自動幫你將中文進行encodeuricomponent編碼。
參考資料
monaco editor新一代前端UI編輯器
業務場景 編輯自動化指令碼,開放自動編輯,需要採用一款編輯器,之前有在其他專案看到,發現這款適用於前端的編輯器真心不錯,良心推薦!這是官方位址 可以體驗下強大之處 基本包涵了大部分的idea和vscode的功能 廢話不多說,直接上手vue專案對接,步驟如下 1安裝 npm install monac...
前端基礎 匹配中文(utf 8編碼)
每個字元 中文 英文本母 數字 各種符號 拉丁文 韓文 日文等 都對應著乙個unicode編碼。檢視unicode編碼,找到中文的部分,然後獲取中文的unicode編碼的區間,就可以用正則匹配了。前面我們用 a z 表示小寫字母,0 9 表示數字,這就是乙個範圍表示,如果有乙個數x能夠表示第乙個中文...
前端三大主流框架中文文件
angular 官方同步中文文件 react 官方同步中文文件 react 入門中文文件 redux 中文文件 react redux 使用簡述 react router 中文文件 v4版本採用動態路由 v2,v3版本採用靜態路由,大多數人會比較喜歡靜態路由這種方法,v4所採用的動態路由更符合元件化...