Hadoop 配置单元INSTR函数在具有UTF8字符的字符串上工作不正确

Hadoop 配置单元INSTR函数在具有UTF8字符的字符串上工作不正确,hadoop,hive,utf,Hadoop,Hive,Utf,配置单元INSTR函数在使用UTF8字符的字符串上工作不正确。当重音字符是字符串的一部分时,INSTR为后续字符返回错误的字符位置。它似乎是在计算字节而不是字符 将重音字符作为字符串的一部分返回8 select INSTR("Réservation:", 'a'); returns 8 如果字符串中没有重音字符,则返回7 select INSTR("Reservation:", 'a'); returns 7 我可以使用这个或其他功能吗?这就是我在hive 1.1.0中得到的 hive&g

配置单元INSTR函数在使用UTF8字符的字符串上工作不正确。当重音字符是字符串的一部分时,INSTR为后续字符返回错误的字符位置。它似乎是在计算字节而不是字符

将重音字符作为字符串的一部分返回8

select INSTR("Réservation:", 'a'); returns 8 
如果字符串中没有重音字符,则返回7

select INSTR("Reservation:", 'a'); returns 7

我可以使用这个或其他功能吗?

这就是我在hive 1.1.0中得到的

hive>select INSTR("Réservation:", 'a');
OK
7
所以蜂巢没有问题。如果您在使用
INSTR
时仍有问题,请编写您自己的UDF以实现此目的。要编写自定义项,请参阅以下链接


这就是我在hive 1.1.0中得到的

hive>select INSTR("Réservation:", 'a');
OK
7
所以蜂巢没有问题。如果您在使用
INSTR
时仍有问题,请编写您自己的UDF以实现此目的。要编写自定义项,请参阅以下链接