昨日SSMプロジェクト、フォーム入力の文字列型の学生を変更するには、ミスをし、中国の文字値は、常に文字化け、データコントローラ層の獲得が文字化けし始め、次のように、我々は検討を行ってきました:
- web.xmlの構成設定リスナーの文字エンコーディング(フィルター)、
- JSPページのエンコード形式、ビューを開くために、メモ帳を使用して、
- エンコード形式のJSPページを設定します
調査終了後、先生に聞いて何の問題、または歪み、そして今朝はありません。先生は溶液を得ました。
バイトの配列に文字列を変換するデータ列、文字列処理を取得コントローラ層を形成した後、次に指定された文字列は、符号化で符号化されます。
1 パッケージcom.qst.util; 2 3。 / ** 4。 * @description:文字列フォーマットトランス8 UTF。 5。 * @author:Liruilong 6。 * @date:2019年9月29日10時38分 7。 * / 8。 パブリック クラスUtil_UTF8 { 9 10 // 文字列(バイト[]バイト、文字セット文字セット)新しい文字列を作成するために指定されたバイト配列を復号化する指定された文字セットを使用することによって。 11 // 新しいバイト配列に結果を格納し、コーディング配列のバイトを指定された文字セットに、この文字列を使用してGetBytesメソッド(文字セット文字セット)。 12は、 13である パブリック 静的文字列toUTF8(文字列STR){ 14 のtry { 15 //符号化フォーマットGB2313場合、コンバータを使用することができる。8、UTF 16 IF(str.equals(新しい新しい文字列(str.getBytes( "GB2312")、 "2312" ))){ 17 STR = 新しい新しい文字列(str.getBytes(「GB2312 ")、" UTF-8 " ); 18である 戻りSTRを; 19 } 20 } キャッチ(例外exception){ 21である } 22が 試み{ 23である // 場合、符号化フォーマット"へのUTF-8西ヨーロッパ文字セット「 24 IF(STR .equals(新しい新しい文字列(str.getBytes( "ISO-8859-1")、 "ISO-8859-1"))){ 25 STR =新しい新しい文字列(str.getBytes( "ISO-8859-1")は、 "UTF-8が" ); 26は、 戻りSTR; 27 } 28 } キャッチ(例外Exception1){ 29 } 30 のtry { 31である // エンコード形式がGBK場合、。UTFに8変換。 32 IF(str.equals(新しい新しい文字列(str.getBytes( "GBK")、 "GBK" ))){ 33が STR = 新しい新しい文字列(str.getBytes( "GBK")、「UTF -8 " ); 34である 戻りSTR。 35 } 36 } キャッチ(例外exception3){ 37 } 38 リターンSTR。 39 } 40 }
給油寿命^ _ ^ 2019年9月29日