1
我想用JDBC驱动程序将字符串(它包含保加利亚字符,如下所示'КИПЕПСИ')插入到MySQL数据库中如何使用com.mysql.jdbc.Driver将保加利亚字符字符串插入到MySQL数据库中“
这里如下如何我想插入的代码片段
String DB_URL = "jdbc:mysql://myurl.amazonaws.com/mydatabase?useUnicode=true&characterEncoding=Cp1251";
static final String USER = "username";
static final String PASS = "mypassword";
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
String SQL = "INSERT INTO tmptab(city) VALUES('КИ ПЕПСИ')";
Statement stmt = conn.createStatement();
stmt.executeUpdate(SQL);
是的DDL表tmptab如下:
create table tmptab (city varchar(255) COLLATE cp1251_bulgarian_ci DEFAULT NULL) DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci;
但是,当我看到在T值他的数据库如下:
城市'? ?????”
我不知道我在这里做了什么错误。我只是假设它与字符集编码有关。如果有任何帮助可以提供,我将不胜感激。
我还想提一点,当我将数据插入本地系统时,它会正确插入。但是,当我尝试插入MySQL数据库运行到亚马逊云我没有得到适当的值插入。我只看到???????。
你在哪里看到这些?在Java中,在MySQL控制台...? – Jan
当我在mysql workbench中运行select * from tmptab时,我看到了????。如果我在java控制台中打印,我也可以在java控制台上看到相同的(????)。 –
如果我在java控制台上打印SQL语句如下System.out.println(SQL),我看到以下文本:INSERT INTO tmptab(city)VALUES('?? ?????') –