希望有人可以帮助我们
我有一个包含英文和德文文本的数据库,我使用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
提前致谢
答案 0 :(得分:0)
PostgreSQL在如何依赖系统行为方面有一些奇怪之处。这是一。通常,本地化支持取决于系统库和系统行为。对于像大写/小写这样的事情以及像校对这样的事情都是如此。
在数据库设置之后,您似乎无法创建数据库的本地化设置。您可能需要备份数据库,使用正确的本地化设置重新创建数据库,然后重新加载数据。这可能不是你想要的答案,但它可能是最好的答案。