html 指定頁面字符集的兩種方式


1.html指定頁面字符集的兩種方式

  方式一:

<meta charset="utf-8">

  方式二:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  以上就是將頁面的字符集設置成UTF-8的兩種方式(設置頁面字符集),目的在於:告訴瀏覽器該html文件的字符集。

2.設置頁面使用字符集的兩種方式

第一種:服務器指定響應內容的字符集;

response.setCharacterEncoding("utf-8")

前提:服務器通過服務器轉發或者重定向到指定的界面。  

第二種:頁面指定字符集。

見1

說明:第一種方式的優先級高於第二種。

3.服務器轉發

  頁面已經設置好了字符集

  這是怎么回事,為什么不生效? 

2.原因分析

  通過服務器完成頁面的跳轉請求(轉發)

  返回的時候,並沒有指定將要返回數據的字符集。 

  f12捕獲網絡,獲取到的相應的頁面的字符集為iso-8859-1,所以瀏覽器解析該頁面時就會出現亂碼。     

3.解決方案

  如果是轉發,則需指定返回數據的字符集為utf-8即可。

response.setCharacterEncoding("utf-8");

4.服務器重定向

  重定向,且沒有指定返回數據的編碼集,頁面會怎么樣? 

  字符集由頁面說了算,即:頁面的字符集有頁面中關於字符集的聲明決定。

  比如:頁面指定字符集為:iso-8859-1

  則瀏覽器就按照iso-8859-1也解析。 

  另外,就算重定向設置返回數據的編碼集,也無效,因為:重定向將導致數據丟失!

5.總結

  如果頁面由服務器轉發而來,則頁面的字符集由轉發決定;否則,重定向的界面或者普通界面的字符集由HTML頁面本身的聲明的字符集決定!

  注意:今天講的是頁面字符集的問題和純粹的數據交互時出現的亂碼不是一碼事!

  另外,如果HTTP響應頭與meta中都指定了字符集,會造成沖突,http響應的字符集生效。

 

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

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



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