瀏覽器中的中文亂碼問題(GBK還是UTF-8)


代碼編寫過程中,遇到中文的亂碼問題,我們一定會想到修改編碼為UTF-8,但這並不一定對所有的情況都適用。

編碼的簡單流程:

我們編寫的中文字符最終要在瀏覽器中顯示,需要經過編碼和解碼,編碼和解碼需要滿足兩個條件才能使顯示出來的字符是正常不亂碼的

  • 編碼方式和解碼方式要支持所使用的文字(例如中文);

  • 編碼方式和解碼方式要相同。

GBK和UTF-8都是支持中文的,但瀏覽器使用的解碼方式大多都是GBK模式的。因此我們使用UTF-8來編碼,最終瀏覽器使用GBK來解碼,這就產生了亂碼!

解決方法:

代碼編寫時使用UTF-8來編碼,並且告訴瀏覽器“我使用的是UTF-8來編碼,請你也使用UTF-8進行解碼操作,否則將產生亂碼問題!”

因此兩行代碼即可解決:

resp.setCharacterEncoding("utf-8");     //編碼方式
resp.setContentType("text/html;charset=utf-8");     //要求瀏覽器要使用的解碼方式

注意:java中標准寫法為“UTF-8”,utf-8亦可識別;MySQL數據庫中僅可使用utf8。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM