java中的utf8问题
发布时间:2020-05-24 19:35:22 所属栏目:Java 来源:互联网
导读:我有下表: create table test( fname char(20) character set utf8 collate utf8_turkish_ci, id int primary key); 我按如下方式插入数据: resultSet.executeQuery(set namee utf8);preparedStatement = connection.prep
|
我有下表: create table test ( fname char(20) character set utf8 collate utf8_turkish_ci,id int primary key ); 我按如下方式插入数据: resultSet.executeQuery("set namee utf8");
preparedStatement = connection.prepareStatement("insert into test(fname) values(?)");
preparedStatement.setstring(1,"alis");
preparedStatement.executeUpdate();
但是当我检索数据时,它们就像是?????. 什么是问题,我该如何解决? 解决方法根据 MySQL JDBC driver documentation,您还需要在JDBC连接URL中设置字符编码.这是一个例子:jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8 否则,MySQL JDBC驱动程序将使用平台默认编码在通过网络发送之前将字符转换为字节,在您的情况下显然不是UTF-8.然后,所有未覆盖的字符将被问号替换. 此外,在检索数据时,您需要确保显示/写入字符的控制台/文件也支持/使用UTF-8.否则它们也会成为问号.如何解决这个问题取决于你显示/写入这些字符的方式/位置. 也可以看看: > Unicode – How to get the characters right? 顺便说一下,这里不需要SET NAMES查询. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- spring boot整合mybatis利用Mysql实现主键UUID的方法
- java – 如何在IntelliJ中运行Play Framework 2.1项目?
- Java统计输入字符的英文字母、空格、数字和其它
- 为什么java中的BigInteger被设计为不可变的?
- Java 操作 properties 文件
- java – 与postgreSQL数据库连接的非法UTF-8序列
- Java使用正则表达式搜索文本内所有的email地址并打印出来
- java – 我能告诉BufferedImage最初的文件类型是什么吗?
- java – GWT Code Splitting?
- 在实践中使用Selenium 2.0 WebDriver
