【Java】程式設計過程中遇到的中文編碼問題
前言
在使用中文輸入或輸出的時候,我們經常會遇到亂碼的情況,需要進行轉碼才能解決這個問題,下面是我在程式設計過程中遇到的一些關於中文亂碼的情況以及解決方法。
一、在使用Servlet向瀏覽器輸出中文時,顯示亂碼
解決方法:
在方法體的最前面加上兩個轉碼函式:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
二、在進行表單提交獲取資料時,中文亂碼
儘管在最前面加了
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
但還是顯示
於是用了
new String(req.getParameter("UserName").getBytes("utf-8"));
此時顯示的是:
最後是用new String(req.getParameter("UserName").getBytes("iso-8859-1"),"utf-8");
解決的:
那為什麼通過URL傳遞中文引數會出現亂碼呢?
原因:Http請求傳輸時將url以ISO-8859-1編碼,伺服器收到位元組流後預設會以ISO-8859-1編碼來解碼成字元流(造成中文亂碼)。
解決辦法:我們需要把request.getParameter(“引數名”)獲取到的字串先用ISO-8859-1編碼成位元組流,然後再將其用utf-8解碼成字元流。
三、HttpPost 傳遞引數中文亂碼
要事先在StringEntity上寫好轉碼。如下圖程式碼:
相關文章
- 三個程式設計中遇到的小問題彙編程式設計
- JAVA的中文編碼問題Java
- 爬蟲過程中遇到的問題爬蟲
- 深入分析 Java 中的中文編碼問題Java
- Java 中的中文編碼問題深入分析Java
- 學習vue過程中遇到的問題Vue
- STATSPACK安裝過程中遇到的問題
- 深入分析 Java Web 中的中文編碼問題JavaWeb
- 程式設計師在程式設計中遇到的奇葩弱智問題程式設計師
- JSP開發過程遇到的中文亂碼問題及解決方案JS
- 電商APP測試過程中遇到的問題APP
- android開發過程中遇到的問題Android
- Ubuntu16.04編譯VIORB過程中遇到的問題 尤其是rosbag的問題Ubuntu編譯ORBROS
- Ubuntu中 MySQL 的中文編碼問題UbuntuMySql
- Flutter開發過程中遇到的問題記錄Flutter
- Latex — 寫作編譯過程中遇到問題記錄與總結編譯
- Vue使用中遇到的程式碼問題Vue
- 關於ubuntu安裝中過程遇到問題Ubuntu
- dos下編譯執行java程式遇到的問題編譯Java
- Composer 使用過程中遇到的問題和解決方案
- Mac電腦使用imazing過程中遇到的問題Mac
- ORACLE RAC TO RAC DG搭建過程中可能遇到的問題Oracle
- 皮膚開發過程中遇到的3個問題
- 安裝gcc過程中遇到相互依賴的問題GC
- 如何處理六西格瑪過程中遇到的問題?
- 【DATAGUARD 學習】學習DATAGUARD 過程中遇到的問題
- 開發過程中遇到問題該怎麼辦?
- 面試中初級程式設計師常常遇到的問題—— 描述你做過的專案面試程式設計師
- 配置IIS,Apache,PHP過程中遇到的一些問題ApachePHP
- 深入分析 Java 中的中文編碼問題 (文章來自網路)Java
- vscode 自定義c++標頭檔案,編譯過程中遇到的問題VSCodeC++編譯
- 在做一個support,今天看程式碼的過程中遇到個問題,望大家給點指點。
- 匯出Excel過程中遇到的問題java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlExceptionExcelJavaErrorApacheXMLBeanException
- Python的中文編碼問題Python
- 【轉】程式設計師求職面試中經常遇到的面試問題程式設計師求職面試
- Mysql安裝過程中遇到的問題及解決辦法MySql
- PYTORCH安裝過程以及遇到的問題PyTorch
- java的socket程式設計問題Java程式設計