0

我们有一个 Web 应用程序,可以在其中插入俄语字符,在 mysql 数据库中它看起来像这样 ДоÑÑ,авка груза。但是当在网上查看时以俄语字符形式正确显示。但是,当我们在 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

你必须在三个地方设置使用的编码,这样它就可以了,它应该是这样的。

  1. php
  2. mysql数据库和表
  3. php 用来与 mysql 通信的链接(这是大多数人想念的)你在这里有两个选择。phps' mysql_set_charset()-> mysql_set_charset或使用两个查询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

我建议,正如 Nikola 上面所说, SET NAMES 'utf8' 会解决你的问题。您必须说明 MySQL 您的客户端将使用什么字符集编码来发送 SQL 语句以及它希望以什么字符集编码接收结果。SET NAMES 影响所有这些设置。

于 2012-10-26T12:57:02.420 回答