首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用java和mySQL的Tamil utf-8编码

使用java和mySQL的Tamil utf-8编码
EN

Stack Overflow用户
提问于 2015-10-13 18:59:15
回答 2查看 458关注 0票数 1

我在我的SQL Server5.0上使用Eclipse。我使用JFrame将泰米尔语单词插入到文本字段中。但是,MY SQL控制台显示的是问号而不是泰米尔语单词。我也在文本字段中看到问号,但我可以使用Alt+Shift键在那里键入泰米尔语。

(泰米尔语是一种带有特殊字符的印度语言)

如何正确切换到Unicode?

EN

回答 2

Stack Overflow用户

发布于 2015-10-13 19:40:39

代码语言:javascript
运行
复制
enter code here

try 
    {
        try
        {

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

        try

        {

      java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydbase?useUnicode=true&characterEncoding=utf-8", "root", "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() ; 


char[] ch = s.toCharArray();

int y = s.length();

int k=1;

for (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();
    }   
票数 1
EN

Stack Overflow用户

发布于 2015-10-26 09:30:15

请参阅UTF-8 all the way through

问号来自于此:

  • 客户端具有有效字符(good),
  • SET NAMES同意客户端具有的编码(good),但
  • 目标列的CHARACTER SET不包括所需的字符(Bad)。

泰米尔语遗失了。您需要修复CHARACTER SET并重新插入文本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33100918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档