TinyMCE高級編輯器中的一個亂碼問題

系統使用了TinyMCE,最近修改了前端的一個功能,即在提交前,取出TinyMCE編輯器中的內容,使用Ajax方式傳入後臺,修改內容,再傳回前臺填入TincyMCE編輯器中。測試時發現內容傳回前臺後,會常常在有些地方多個「?」號,感受是內容在傳入後臺、傳回前臺時發生了亂碼問題,但排查了一下,系統的編碼並無問題,後來再排查並經過從網上查找資料,找到了緣由。前端

緣由是在向TinyMCE編輯器中填入內容時,直接拷貝了一段網頁上的內容,而這段內容中包含空格符號「 」,填入內容後,這個字符爲\u00A0,在使用Ajax將內容傳回後臺時,對這段內容按照UTF-8做URL編碼,而這個符號被編碼成%C2%A0,在後臺解碼時,因爲後臺程序爲GBK編碼,而\u00A0已經超出了GBK的編碼範圍,因此解碼後這個字符就變爲了「?」號。瀏覽器

既然\u00A0在後臺不能正常表示,爲何系統以前沒有出現「?」號的問題呢?緣由是當表單向後臺提交內容時,瀏覽器會自動對\u00A0這個字符進行轉化處理,IE瀏覽器會自動轉化爲「 」,FireFox瀏覽器會自動轉化爲「 」。
編輯器

相關文章
相關標籤/搜索