0020-使用JDBC向Kudu表插入中文字符-双引号的秘密
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。1.问题描述使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。2.问题复现测试环境:CDH5.
千家信息网最后更新 2025年12月02日0020-使用JDBC向Kudu表插入中文字符-双引号的秘密
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
1.问题描述
使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。
2.问题复现
测试环境:
- CDH5.12.0
- Kudu1.4.0
- ImpalaJDBC41_2.5.35
1.使用ImpalaJDBC代码进行测试,测试代码
static String JDBC_DRIVER = "com.cloudera.impala.jdbc41.Driver";static String CONNECTION_URL = "jdbc:impala://ip-172-31-10-118:21050/default";public static void main(String[] args) { Connection con = null; ResultSet rs = null; PreparedStatement ps = null; try { Class.forName(JDBC_DRIVER); con = DriverManager.getConnection(CONNECTION_URL); String insertsql = "insertinto my_first_table values(46, '测试中文字符')"; ps = con.prepareStatement(insertsql); ps.execute(); ps.close(); ps = con.prepareStatement("select* from my_first_table order by id asc"); rs = ps.executeQuery(); while (rs.next()) { System.out.println(rs.getLong(1) + "\t" +rs.getString(2)); } } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭rs、ps和con rs.close(); ps.close(); con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}2.向Kudu表中分别插入测试数据,如"测试","测试中文","测试中文字符"
String insertsql = "insert into my_first_table values(44, '测试')";String insertsql = "insert into my_first_table values(45, '测试中文')";String insertsql = "insert into my_first_table values(46, '测试中文字符')";如下是按测试顺序插入的数据
通过以上操作重现问题。
3.解决方法
修改程序中插入语句,将插入字符串的单引号修改为双引号
String insertsql = "insert into my_first_table values(51, \"测试中文字符\")";String insertsql = "insert into my_first_table values(52, \"测试中文\")";String insertsql = "insert into my_first_table values(53, \"测试\")";修改后重新向Kudu中插入测试数据:"测试中文字符","测试中文","测试"
使用Hue查询显示如下:

中文字符串插入Kudu显示正常。
4.备注
1.使用Cloudera官网最新的JDBC驱动,插入中文字符时也有上述问题
下载地址:https://downloads.cloudera.com/connectors/impala\_jdbc\_2.5.38.1058.zip
2.通过Impala-shell插入中文字符串正常
[172.31.10.118:21000] > insert into my_first_table values(66,'插入中文字符');Modified 1 row(s), 0 row error(s) in 0.11s[172.31.10.118:21000] > select * from my_first_table where id=66;+----+--------------+| id | name |+----+--------------+| 66 | 插入中文字符 |+----+--------------+Fetched 1 row(s) in 0.21s[172.31.10.118:21000] >[172.31.10.118:21000] > insert into my_first_table values(77, "测试中文字符");Modified 1 row(s), 0 row error(s) in 0.11s[172.31.10.118:21000] > select * from my_first_table where id=77;+----+--------------+| id | name |+----+--------------+| 77 | 测试中文字符 |+----+--------------+Fetched 1 row(s) in 0.18s[172.31.10.118:21000] > 
醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
欢迎关注Hadoop实操,第一时间,分享更多Hadoop干货,喜欢请关注分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操
测试
中文
字符
字符串
数据
问题
引号
温馨
代码
图片
手机
高清
无码
提示
乱码
公众
原创文章
地址
备注
少年
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小孩网络安全保护
网络安全认证费用
网络技术兼职网站
40十岁的软件开发
僵尸毁灭工程服务器存档位置
厦门龙脉网络技术有限公司
软件开发平台 兼职
温州外协加工软件开发教程
软件开发企业帐务
朝阳区网络营销软件开发职责
一个服务器怎么做多个web
网络安全审查专员职位的发展
修改阿里云服务器密码
软件开发与程序开发
济南微网互联网络科技有限公司
国家网络安全法治日
上海剑游网络技术公司
金蝶数据库结构分析
h5下拉框随数据库
我的世界斗罗大陆服务器新服开荒
公安信息网络安全u盘
网络安全自评估报告
志霸三国手游服务器
网络安全上市厂家
靠谱软件开发报价
合肥市网络安全协会
邯郸服务器
h2数据库无法打开
email服务器功能
p2pwificam服务器