0

ロシア語の文字を挿入できるWebアプリケーションがあり、mysqldbでは次のようになります。しかし、ウェブ上で表示されると、ロシア語の文字形式で正しく表示されます。しかし、Javaアプリケーションでそれを行うと、この形式で表示されます。何か助けはありますか?

Javaコードの一部を以下に示します。

Statement stmt1 = null;
                         //System.out.println("\n\nSELECT selectOTACommand : "+selectOTACommand);
                         String select1 = "Select locName from tblLoc where locID=2280"
                         ResultSet rs1= stmt1.executeQuery(select1);
                         while(rs1.next()) 
                         {
                            System.out.println("Loc Name : "+rs1.getString("locName"));

                         }      

                          try{
                            if ( rs1 != null ){
                              rs1.close();
                            }
                            else{
                                System.out.println("MyError:rs1 is null in finally close");
                            }
                            if ( stmt1 != null ){
                              stmt1.close();
                            }
                            else{
                                System.out.println("MyError:stmt1 is null in finally close");
                            }
                          }
                          catch(SQLException ex){
                                System.out.println("MyError:SQLException has been caught for stmt1 close");
                                ex.printStackTrace(System.out);
                          }  
4

4 に答える 4

1

使用するエンコーディングを3つの場所に設定する必要があります。これにより、問題がなく、本来の方法で使用できるようになります。

  1. php
  2. mysqlデータベースとテーブル
  3. phpがmysqlと通信するために使用するリンク(これはほとんどのpplが見逃しているものです)ここには2つのオプションがあります。phps' mysql_set_charset()-> mysql_set_charsetまたは2つのクエリで実行SET NAMES 'charset_name'+SET CHARACTER SET charset_name
于 2012-10-26T12:50:18.407 に答える
1

そのアプリケーションは、それがwindows-1251エンコーディングであると言っています。おそらくUTFに変換する必要があります。

于 2012-10-26T12:50:54.830 に答える
0
于 2012-10-26T14:26:32.920 に答える
0

ニコラが上で言ったように、 SET NAMES 'utf8' があなたの問題を解決することをお勧めします。クライアントが SQL ステートメントを送信するために使用する文字セット エンコーディングと、結果を受信する文字セット エンコーディングを MySQL に指定する必要があります。SET NAMES は、これらすべての設定に影響します。

于 2012-10-26T12:57:02.420 に答える