この記事の例は、あなたとあなたの参考のためのJava中国の価値の伝達とソリューションの文字化けの問題をあなたと共有しています。特定のコンテンツは次のとおりです
一般的なエンコード形式の設定:
1. 2回エンコードできます。つまり、文字セットを設定した後、挿入前に文字セットをデコードした後、これも最も効果的な方法です。
セット文字セット:
文字列値= null;
try {value = urlencoder.encode(jsonobjectpar.getString( "value")、 "utf-8"); } catch(unsupportedencodingexception e){e.printstacktrace(); }
デコードされた文字セット:
文字列値= null; try {value = new String(value.getBytes( "ISO-8859-1")、 "UTF-8"); } catch(unsupportedencodingexception e){e.printstacktrace(); } 2。直接処理:
username = new String(username.getBytes( "ISO-8859-1")、 "utf-8");
3.ブレークポイントが挿入されたときに中国語に挿入され、データベースに入った後にコードが刻まれている場合、データベースは通常UTF-8に設定されていません。
最初にデータベースエンコード(例としてmysql)を確認します。
データベースクエリで実行:「文字%」のような変数を表示します。すべてのエンコーディング情報を表示UTF-8ではない文字セットを変更します。主に日付ベースがUTF-8であるかどうかを確認します。
「文字%」のような変数を表示します。 + - - - - - - - + - - - - - - - +| variable_name |値| + - - - - - - - + - - - - - - - +| character_set_client | latin1 | | Character_set_connection | latin1 | | Character_set_database | latin1 | | Chariture_set_filesystem |バイナリ| | character_set_results | latin1 | | Character_set_server | latin1 | | Character_set_system | UTF8 | | Character_sets_dir | /usr/share/mysql/charsets/| + - - - - - - - + - - - - - - - +
上記の情報から、データベースのエンコードはLATIN1であり、GBKまたはUTF8に変更する必要があることがわかります。
その中で、Charached_set_clientはクライアントエンコードメソッドです。 character_set_connectionは、接続を確立するために使用されるエンコードです。 Chariture_set_databaseデータベースエンコーディング; character_set_results結果セットエンコーディング。 Chariture_set_serverデータベースサーバーエンコーディング。上記の4つのエンコーディング方法が上記の4つが同じであることを保証する限り、文字化けの問題はありません。
4.背景からページまでの文字化けコードの問題:
データを返す前に、文字セットを設定します。
Response.setcharacterencoding( "utf-8");
5.背景の文字化けコードへのJSPページ:
5-1.JSPのエンコードはUTF-8に設定されています
5-2。これはバックグラウンドの判断です
文字列名= request.getParameter( "ABC"); if(name.equals(new String(request.getParameter( "abc")。getBytes( "ISO8859-1")、 "ISO8859-1"))){name = new String(name.getBytes( "ISO8859-1")、 "utf-8"); }GETメソッドISO8859-1で送信されたコード
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。