本文目錄一覽:
- 1、JAVA 亂碼 根本原因是什麼
- 2、JAVA開發中,常見的亂碼有哪幾種,如何解決?
- 3、cmd運行的java文件咋是亂碼
- 4、打開java文件都是亂碼怎麼解決?
- 5、我的myeclipse里的java文件的中文都成亂碼了,求解決
JAVA 亂碼 根本原因是什麼
java出現亂碼的原因是
.java 文件中的編碼格式和命令提示符的指令不一致導致的
比如.java 使用的是utf-8,windows環境下命令提示符編碼是gbk,在使用javac 命令進行對.java文件進行編譯的時候,.java文件中的中文字元就會出現 亂碼.
出現這樣的情況,處理方式是通過現在編譯編碼-encoding 處理
javac -encoding utf-8 Test.java
JAVA開發中,常見的亂碼有哪幾種,如何解決?
1、瀏覽器調用jsp,html等頁面中文顯示亂碼
此情況需滿足兩個要求:
(1)文件本身是以utf-8編輯保存的(myEclipse中在properties中滑鼠右鍵選擇utf-8)
(2)瀏覽器用utf-8解析:
(手動)== 在瀏覽器中右鍵選擇編碼格式為utf-8
(智能)== 在文件中寫入如: meta name=”content-type” content=”text/html; charset=UTF-8″ 通過meta標籤模擬response頭,起到告訴瀏覽器用utf-8的編碼解析
(智能)== response.setContentType(“text/html;charset=UTF-8”);起到告訴瀏覽器用utf-8的編碼解析
常用:
meta name=”content-type” content=”text/html; charset=UTF-8″或meta charset=”utf-8″
%@ pageEncoding=”utf-8″%
?xml encoding=”UTF-8″?
2、通過瀏覽器調用servlet,頁面顯示亂碼。
Servlet亂碼分為request亂碼和response亂碼;
(1)response亂碼問題
解決方法:
在網上很有效的解決方法是添加:
response.setCharacterEncoding(“UTF-8”);
解決不了,後來又搜到一條解決方法是:
response.setContentType(“text/html;charset=utf-8”);或者 response.setHeader(“content-type”,”text/html;charset=UTF-8″);告訴瀏覽器用utf-8解析。(setHeader是HttpServletResponse的方法。如果想在攔截器Filter中設置字元編碼,則無此方法,因為Filter的doFilter方法的參數類型是ServletResponse)
兩句都填上,後來終於解決了這個問題;
其實我們應該思考一下本質:
response.setContentType(“text/html;charset=UTF-8”); 目的是為了控制瀏覽器的行為,即控制瀏覽器用UTF-8進行解碼;
response.setCharacterEncoding(“UTF-8”);目的是用於response.getWriter()輸出的字元流的亂碼問題。如果是response.getOutputStream()是不需要此種解決方案的,因為這句話的意思是為了將response對象中的數據以UTF-8解碼後的位元組流發向瀏覽器;
cmd運行的java文件咋是亂碼
當我們不加設置就編譯時,相當於使用了參數:javac -encoding gbk XX.java,當然就會出現不兼容的情況。
解決方法:
1、轉換成UTF-8編碼格式,但仍然有錯解決辦法是:應該使用-encoding參數指明編碼方式:javac -encoding UTF-8 XX.java
2、開始–計算機–滑鼠反鍵(滑鼠右鍵)–屬性–高級系統設置–環境變數–系統變數新建。然後輸入:「JAVA_TOOL_OPTIONS」變數,值為「-Dfile.encoding=UTF-8」然後確定、確定、在確定後。新開命令行窗口,再次輸入javac命令。
打開java文件都是亂碼怎麼解決?
編輯器的編碼會影響到所有的項目中的字元的顯示,可以說是作用最為廣泛的設置,每一個項目都會受到這個設置的影響。點擊菜單欄中的窗口(Window)— —選項(Preferences)。
我的myeclipse里的java文件的中文都成亂碼了,求解決
中文亂碼是因為編碼格式不一致導致的。
1、進入Eclipse,導入一個項目工程,如果項目文件的編碼與你的工具編碼不一致,將會造成亂碼。
2、如果要使插件開發應用能有更好的國際化支持,能夠最大程度的支持中文輸出,則最好使 Java文件使用UTF-8編碼。
3、修改默認編碼:
在菜單導航欄上Window–Preferences 打開”首選項”對話框,左側導航樹,導航到 General–Workspace。
Windows 7平台默認為GBK,簡體中文操作系統Windows XP、Windows 2000簡體中文的預設編碼是GB18030,Linux平台默認為UTF-8,那麼在此工作空間中建立的工程編碼是GBK,工程中建立的java文件也是GBK。
可以看到默認的是GBK編碼格式,修改為UTF-8編碼格式或者是需要的編碼格式,點擊Apply,點擊OK。
4、有時候需要某種類型的文件,如:*.jsp、*.java等,
導航欄window–preferences,
打開”首選項”對話框,左側導航樹,導航到 Genera–Content Types,
右邊找到要修改的文件的類型,以*.java為例,
在下面的Default encoding,輸入框中輸入UTF-8-Update-OK
5、修改單個文件的編碼:在包資源管理器右鍵點擊文件-屬性,改變文本文件編碼格式為UTF-8 。
經過上述步驟,新建java文件即為UTF-8編碼,新建項目也是UTF-8編碼,在Eclipse編譯、運行、調試都是沒問題的。
注意事項:
請保持編碼一致,不然會造成亂碼,在Java開發中一般以UTF-8為主。
在轉換編碼前可以先備份。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198672.html