我正在使用Eclipse和MY SQL Server 5.0。 使用JFrame,我将泰米尔文字插入到文本字段中。但是,MY SQL控制台显示问号而不是泰米尔语单词。我也在文本框中看到了问号,但是我可以使用Alt + Shift键在泰米尔语中键入。使用java和mySQL进行泰米尔语utf-8编码
(泰米尔语为有特殊字符的印度语)
我怎样才能正确地切换到Unicode?
我正在使用Eclipse和MY SQL Server 5.0。 使用JFrame,我将泰米尔文字插入到文本字段中。但是,MY SQL控制台显示问号而不是泰米尔语单词。我也在文本框中看到了问号,但是我可以使用Alt + Shift键在泰米尔语中键入。使用java和mySQL进行泰米尔语utf-8编码
(泰米尔语为有特殊字符的印度语)
我怎样才能正确地切换到Unicode?
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();
}
问号来自这样的:
SET NAMES
与编码是客户同意有(好),但是CHARACTER SET
不包含内含d字符(坏)。泰米尔语词汇已丢失。您需要修复CHARACTER SET
并重新插入文本。
发布您的代码。 – Satya
请分享您的代码? – soorapadman
代码片段....我已经添加下面 – aristocrat