无法使用LIKE从PostgreSQL中选择Unicode数据

时间:2010-03-02 05:35:28

标签: java postgresql jdbc character-encoding

我有一个带有一些Unicode值的PostgreSQL数据库。例如马拉地语中的“vaishali”。我想发出一个查询SELECT * FROM table WHERE name LIKE vaishali(我在马拉地语中键入“vaishali”,所以我首先在我的编程中转换为unicode)。但它没有任何匹配。为什么呢?

1 个答案:

答案 0 :(得分:1)

此问题可能有两种原因:

  1. 未指示JDBC驱动程序使用UTF-8。这实际上是一个错误,因为它应该从数据库元数据中自动拾取正确的字符编码。根据我的经验,PostgreSQL JDBC驱动程序总是在这方面做得很好。

  2. SQL查询实际上是错误构造/制定的。您发布的那个已经在语法上无效。请发布实际代码和查询。此外,您似乎坚持认为它只发生在LIKE查询中。普通WHERE name = 'foo'查询怎么样?