分享

hive-1.1.0 使用insert into values 这种方式插入中文数据乱码

bigye 发表于 2015-11-11 11:40:15 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 4 89174
如题。
建表:create table test222 (id int,name string) row format delimited fields terminated by ',' stored as textfile;
create.jpg

插入英文数据:hive> insert into table test222 values (1,'row1'),(2,'row2');
insert_en.jpg

查询刚插入的数据:hive> select * from test222;
select_en.jpg
查询出的数据正常,没有出现乱码。

--------------------------------分割线---------------------------------

插入中文数据:hive> insert into table test222 values (3,'测试数据1'),(4,'测试数据2');
insert_ch.jpg

查询刚插入的中文数据:hive> select * from test222;
select_zh.jpg
从查询结果看出,刚插入的中文数据已经乱码了。
这个问题怎么破~~

已有(4)人评论

跳转到指定楼层
bigye 发表于 2015-11-11 17:25:18
插入数据时,要将中文数据转码为 iso8859-1
new String("测试数据".getBytes(),"iso8859-1");
回复

使用道具 举报

s060403072 发表于 2015-11-11 20:48:55
bigye 发表于 2015-11-11 17:25
插入数据时,要将中文数据转码为 iso8859-1
new String("测试数据".getBytes(),"iso8859-1");

楼主用的远程工具,还是Linux shell。
分为很多情况。
回复

使用道具 举报

bigye 发表于 2015-11-12 09:03:23
s060403072 发表于 2015-11-11 20:48
楼主用的远程工具,还是Linux shell。
分为很多情况。

这个是通过JDBC连接hive的情况。
回复

使用道具 举报

CCDK 发表于 2017-11-23 15:37:39
请问楼主,乱码最后是怎样解决的?求分享经验,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条