PostgreSQL查询中的奇怪编码问题

时间:2013-04-16 12:15:12

标签: postgresql encoding character-encoding

希望有人可以帮助我们

我有一个包含英文和德文文本的数据库,我使用php和Postgres数据库,查询英文文本工作正常,但当查询字符串包含任何德文字母时,我得到空结果。

例如:

select field from Table where field ilike '%software%'

按预期返回结果

select field from Table where field ilike '%bersetzung%'

按预期返回结果

select field from Table where field ilike '%Übersetzung%'

返回空集

show client_encoding返回UNICODE,即使在查询字符串中有任何德语字母时,在pgadmin中运行上述查询也会返回空集。

数据库编码为UTF-8

提前致谢

1 个答案:

答案 0 :(得分:0)

PostgreSQL在如何依赖系统行为方面有一些奇怪之处。这是一。通常,本地化支持取决于系统库和系统行为。对于像大写/小写这样的事情以及像校对这样的事情都是如此。

在数据库设置之后,您似乎无法创建数据库的本地化设置。您可能需要备份数据库,使用正确的本地化设置重新创建数据库,然后重新加载数据。这可能不是你想要的答案,但它可能是最好的答案。