sql - PostgreSQL查询返回非Unicode字符串(波斯语)?
问题描述
我的数据库中有一个函数,名称为rep_request_minor()
我的数据库定义是:
- 编码:UTF8
- 排序规则:en_US.UTF8
- 排序规则类型:en_US.UTF8
问题是,当我在我的数据库中执行这个函数时,输出是正确的,但是当我在另一个程序中执行它时,输出会是错误的:(
那么我应该如何转换或转换查询的输出?
这是我在报告程序中的输出
解决方案
有两种选择:要么字符正确存储在数据库中,而您的客户误解了它们,要么它们没有正确存储在数据库中。
要对此进行诊断,请将length()
函数应用于其中一个字符串,并查看结果是否符合您的期望或是否太大。
如果数据库中的字符串看起来正确,则您的客户端程序可能配置了错误的客户端编码。
如果数据库中的字符串错误,则问题可能是数据加载期间客户端编码错误(例如,您加载 UTF-8 数据,但将客户端编码设置为 LATIN-1)。
推荐阅读
- swift - 为什么/何时允许在 Swift 中用于 EnvironmentObjects 的未初始化的非可选值?
- java - Spring MVC 页面
- java - URL 编码查询路径中的字符 @
- node.js - 如何使用 Node.js 修补 BigQuery 视图
- python - 没有要聚合的数字类型
- python - kafka-python 生产者 - SSL 连接失败 - 仅限 Trustore
- java - 如何使用 Gradle 将 HiveMQ 客户端作为依赖项添加到 HiveMQ 社区版?
- ibm-midrange - 有什么方法可以知道客户端是从哪个操作系统连接的?
- c++ - 面向全局系统/任务监控类的 OOP
- sql-server - ADO NET 目标无法获取连接并显示以下错误消息:“用户登录失败