我遇到的jsp 傳遞參數 出現亂碼的情況(項目統一編碼utf-8)


  今天真是花了不少時間在這個亂碼的問題上啊!為防止下次自己或別人再遇到相似的問題浪費過多的精力在這里...

特寫下一些統一編碼的相關步驟,不常寫文章,本文可能寫得不怎么好,僅供參考,謝謝

 

統一各文件的編碼格式為UTF-8:

我的jsp文件頭部:<%@ page language="java" pageEncoding="UTF-8"%>

(xml文件的頭部默認都是:  <?xml version="1.0" encoding="UTF-8"?>                 )

並通過MyEclipse配置jsp文件,js文件的默認文件編碼格式為:UTF-8,(點擊myeclipse的工具欄上的Window->>Preferences->>General->>Content Types)后

如下如圖,在窗口右邊尋找相關設置:

如下圖底部的紅圈:Default encoding: UTF-8      ,最后點擊OK,完成設置。

             

這些設置完后,檢查整個項目的編碼,選中你的myeclipse項目,右鍵后出現列表,選擇Properties (一般在列表末尾),如果默認的Inherited from container不是UTF-8,則

點擊其下面的Other單選按鈕,后選擇UTF-8:

創建數據庫時,設置編碼為UTF-8:

   CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

與mysql數據庫連接時url也需要設置統一編碼:       jdbc:mysql://localhost:3306/db_myName?characterEncoding=UTF-8

做到上面的這幾個,已經實現了UTF-8編碼的統一了!  如果你存進數據庫的中文數據不出現亂碼 ,

那 下面的內容就不需要看了...

 

如果數據庫插入中文插入出現了亂碼,你可能像我一樣粗心而忽略了小細節:

 

上面基本已經把整個項目的編碼都統一了,但我發現我存進數據庫的中文數據還是亂碼;

我在java實現的DAO層方法那里直接使用”中文數據“存進數據庫,發現沒有亂碼,則說明mysql數據庫存中文沒問題;

那應該是jsp參數傳遞方面的問題,

之后,我使用javascript的alert()方法,彈出相關的中文數據,也可以正常顯示;

最后多方嘗試也沒有發現到底是在哪里出現的問題!

 

直到我看到這里:<form action=“myAction_save”>

看出問題了嗎?這里少了:method屬性,不寫時,默認method=“get”,這是不支持中文傳遞的!

我們需要一定要記得加上method="post",如:  <form action=“myAction_save” method="post">,

就是這么一個細節,需要注意!


免責聲明!

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



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