首页
/
每日頭條
/
科技
/
字符集與字符編碼
字符集與字符編碼
更新时间:2025-11-28 16:45:48

編碼簡介

我們web程序在接收請求并處理過程中,如果不注意編碼格式及解碼格式,很容易導緻中文亂碼,引起這個問題的原因到底在哪裡?如何解決?我們這個小節将會讨論此問題。

說到這個問題我們先來說一說字符集。

什麼是字符集,就是各種字符的集合,包括漢字,英文,标點符号等等。各國都有不同的文字、符号。這些文字符号的集合就叫字符集。

現有的字符集ASCII、GB2312、BIG5、GB18030、Unicode等

這些字符集,集合了很多的字符,然而,字符要以二進制的形式存儲在計算機中,我們就需要對其進行編碼,将編碼後的二進制存入。取出時我們就要對其解碼,将二進制解碼成我們之前的字符。這個時候我們就需要制定一套編碼解碼标準。否則就會導緻出現混亂,也就是我們的亂碼。

2.編碼與解碼

u 編碼:将字符轉換為二進制數

漢字

編碼方式

編碼

二進制

‘中’

GB2312

D6D0

1101 0110-1101 0000

UTF-16

4E2D

0100 1110-0010 1101

UTF-8

E4B8AD

1110 0100-1011 1000-1010 1101

u 解碼:将二進制數轉換為字符

1110 0100-1011 1000-1010 1101 → E4B8AD → ’中’

u 亂碼:一段文本,使用A字符集編碼,使用B字符集解碼,就會産生亂碼。所以解決亂碼問題的根本方法就是統一編碼和解碼的字符集。

字符集與字符編碼(字符編碼問題講解)1

3.解決亂碼:

解決方法就是統一字符編碼。

字符集與字符編碼(字符編碼問題講解)2

亂碼情況:

3.1接收中文請求參數

1)POST請求:post請求提交了中文。在獲取參數值之前,設置請求的解碼格式,使其和頁面保持一緻。我們以後都使用utf-8編碼,它也稱作萬國碼,集合了基本所有的字符。

解決方法:request.setCharacterEncoding("utf-8");

2)GET請求:GET請求參數是在地址後面的。不能使用上述方法。我們需要修改tomcat的配置文件。需要在Server.xml文件修改Connector标簽,添加URIEncoding="utf-8"屬性。

字符集與字符編碼(字符編碼問題講解)3

3.2向浏覽器發送有中文字符的響應

向浏覽器發送響應的時候,要告訴浏覽器,我使用的字符集是哪個,浏覽器就會按照這種方式來解碼。如何告訴浏覽器響應内容的字符編碼方案。很簡單。

解決方法:response.setContentType("text/html;charset=utf-8");

或者使用這兩句組合:

response.setCharacterEncoding("utf-8");

response.setHeader("Content-Type", "text/html;charset=utf-8");

我們一般使用response.setContentType("text/html;charset=utf-8");


精彩閱讀:

web前端之二叉搜索樹

web前端渲染優化

Webpack優化構建速度

常見web安全及防護原理

WebView和原生是如何通信

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
iphone 12 pro max可以升級ios16
iphone 12 pro max可以升級ios16
我們知道一款手機的性能和系統關系是分不開的。手機的系統升級,實際上對于手機的功能性是增加性作用的,功能性會增強手機的使用方便性;不過,手機系統的升級,對于一些老款手機來說,其實并沒有大家想象的那麼美好。我現在将我的iPhone12ProMa...
2025-11-28
電吉他效果器的增益和過載
電吉他效果器的增益和過載
電吉他效果器的增益和過載?ANALOGDELAY模拟延時器CLEAN清徹音ATTACK打進聲CONTROL控制,下面我們就來說一說關于電吉他效果器的增益和過載?我們一起去了解并探讨一下這個問題吧!電吉他效果器的增益和過載電吉它效果器音色參數...
2025-11-28
origin os3.0經典桌面怎麼切換
origin os3.0經典桌面怎麼切換
作為近期最火爆的網紅系統,OriginOS出來以後就備受大家喜愛。許多網紅大“V”在搶先體驗後,都開始布置自己極具個性、不同風格的“網紅桌面”,從而享受OriginOS帶來的無限樂趣。最近,有一位大神運用OriginOS的華容網格桌面設計,...
2025-11-28
10gb運存手機
10gb運存手機
還記得在塞班機時代,手機的運行内存有個64MB已經很了不起了,那個時候手機的自帶存儲基本上在512MB左右,已經十分接近智能手機,安卓手機剛起步的時候,運行内存也有很多256MB的手機,待到小米等一批國産品牌異軍突起時,1GB大運存的口号讓...
2025-11-28
字符集與字符編碼
字符集與字符編碼
編碼簡介我們web程序在接收請求并處理過程中,如果不注意編碼格式及解碼格式,很容易導緻中文亂碼,引起這個問題的原因到底在哪裡?如何解決?我們這個小節将會讨論此問題。說到這個問題我們先來說一說字符集。什麼是字符集,就是各種字符的集合,包括漢字...
2025-11-28
Copyright 2023-2025 - www.tftnews.com All Rights Reserved