2015-10-13 42 views
1

我正在使用Eclipse和MY SQL Server 5.0。 使用JFrame,我将泰米尔文字插入到文本字段中。但是,MY SQL控制台显示问号而不是泰米尔语单词。我也在文本框中看到了问号,但是我可以使用Alt + Shift键在泰米尔语中键入。使用java和mySQL进行泰米尔语utf-8编码

(泰米尔语为有特殊字符的印度语)

我怎样才能正确地切换到Unicode?

+2

发布您的代码。 – Satya

+0

请分享您的代码? – soorapadman

+0

代码片段....我已经添加下面 – aristocrat

回答

0
enter code here 

尝试 { 尝试 {

  Class.forName ("com.mysql.jdbc.Driver"); 

     try 

     { 

java.sql.Connection conn = 

的DriverManager.getConnection(“JDBC:MySQL的://本地主机:3306/mydbase

了useUnicode =真&的characterEncoding = UTF- 8“,”根“,”ALPHAS“);

 String sql = "insert into morph values(?,?,?)"; 

     String sql1 = "insert into word values(?)"; 

     String sql2 = "insert into stems values(?)"; 

    String sql3 = "insert into suffixs values(?)"; 

      java.sql.PreparedStatement psmt = conn.prepareStatement(sql); 

      java.sql.PreparedStatement psmt1 = conn.prepareStatement(sql1); 

      java.sql.PreparedStatement psmt2 = conn.prepareStatement(sql2); 

      java.sql.PreparedStatement psmt3 = conn.prepareStatement(sql3); 

     String s= jTextField1.getText() ; 

     String sq = "select*from word"; 

     String sqlA = "select Word from morph where Word 

= “+” ' “+ jTextField1.getText()+”'“;

 try 

     { 

     java.sql.Statement  stmtB = conn.createStatement(); 

     java.sql.ResultSet rsq = stmtB.executeQuery(sqlA); 


     while(rsq.next()) 

     { 

      String sA = jTextField3.getText() ; 

      String ds = "WordExists"; 

      if (s== sA) 

        { 

       jTextField3.setText(rsq.getString("Word")); 

       jTextField1.setText(rsq.getString("ds")); 



        } 

      } 
    } 

     catch (SQLException e) 

    { 
     e.printStackTrace(); 

    } 

     String sA = jTextField3.getText() ; 

炭[] CH = s.toCharArray();

INT Y = S 。长度();

INT K = 1;

对(INT M = Y-1; M> = 0; M--)

{ String pl1 = new String(ch,0,m);

if(pl1.length()>=2) 

{ 

    char[] dh = new char[y]; 

    int c=y-1; 

    int g = y-1; 



    for (int j=c; j>=0; j--) 

{ 

    if(m>=2) 

    { 

     dh[g] = ch[j]; 

      String pl = new String(ch,0,m); 

      String mpm = new String(dh,0,y); 

     --m; 

     // System.out.println(""+pl+"/"+mpm.trim()+""); 

     // System.out.println(""+pl+"/"+mpm.trim()+""); 


      g--; 

      k++; 

     if(k==y-1) 


     { 
      System.out.println(""+pl+"/"+mpm.trim()+""); 

     psmt.setString(1,s); 

     psmt.setString(2,pl); 

     psmt.setString(3,mpm.trim()+""); 

     psmt1.setString(1,s); 

     psmt2.setString(1,pl); 

     psmt3.setString(1,mpm.trim()+""); 

     psmt.executeUpdate(); 
     psmt1.executeUpdate(); 
     psmt2.executeUpdate(); 
     psmt3.executeUpdate(); 

     } 
        }  
      } 

      } 
     } 



     } 

     catch(Exception E) 
{ 

E.printStackTrace(); }

} 
    catch(Exception E) 
    { 
     E.printStackTrace(); 
    } 
    } 
    catch(Exception E) 
    { 
     E.printStackTrace(); 
    } 
0

UTF-8 all the way through

问号来自这样的:

  • 客户端有一个有效的字符(良好),以及
  • SET NAMES与编码是客户同意有(好),但是
  • 目标栏的CHARACTER SET不包含内含d字符(坏)。

泰米尔语词汇已丢失。您需要修复CHARACTER SET并重新插入文本。