JDBC :将unicode utf 8字符插入到MySQL 中(范例)

・1 分钟阅读

案件 :

你正在使用JDBC在Java应用程序中插入带有unicode字符的字符串,并且看到很多??字符

如何修复它:

首先:
如果你的Java应用程序正在读取数据,例如,文本文件,确保在调用输入流时指定了正确的字符编码,它应该类似于下面这样:

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),"UTF-8" ) );

第二:
请确保告诉JDBC要使用哪个编码,当连接到数据库时,这是查询字符串的一部分,

注意这个部分:useunicode=yes这就是魔法发生的地方。

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8","username","password");

第三:
确保表使用UTF-8. 我通常使用编码: UTF-8 Unicode (utf8 )和Collation : utf8_bin"

干杯,

愿代码与你同在!

Xn_warm profile image