用单引号替换为双单引号在PostgreSQL 12中无法正常工作,在PostgreSQL 11中运行良好。
PostgreSQL 12
查询:post_install
输出文本:Podfile
PostgreSQL 11
查询:SELECT REPLACE(patient.note,'''',''''''), * FROM patient
输出文本:Medicare Secondary Veteran�s Administration
让我知道您是否有解决方案。
答案 0 :(得分:3)
这与您的替换无关,因为所讨论的字符不是撇号'
(U + 0027),而是“右单引号”字符’
(U + 2019 )。
可能您与PostgreSQL v12的连接的客户端编码设置不正确,因此该字符被转换为不需要的字符。将角色转移到v12可能也有一个错误。
要对此进行诊断,请尝试
SELECT note::bytea FROM patient;
如果其中包含e28099
,则数据库中的数据很好,而问题出在您的客户端编码上。假设数据库的服务器编码为UTF8
。