[英]Replace with single quote to double single quote not working in PostgreSQL 12
將單引號替換為雙單引號在 PostgreSQL 12 中無法正常工作,在 PostgreSQL 11 中工作正常。
PostgreSQL 12
查詢: SELECT REPLACE(patient.note,'''',''''''), * FROM patient
Output 文本: Medicare Secondary Veteran�s Administration
PostgreSQL 11
查詢: SELECT REPLACE(patient.note,'''',''''''), * FROM patient
Output 文本: Medicare Secondary Veteran's Administration
如果您有任何解決方案,請告訴我。
這與您的替換無關,因為有問題的字符不是撇號'
(U+0027),而是“右單引號”字符'
(U+2019)。
可能連接到 PostgreSQL v12 的客戶端編碼設置不正確,因此字符被翻譯成不受歡迎的東西。 將角色轉移到 v12 時也可能出現錯誤。
要診斷此問題,請嘗試
SELECT note::bytea FROM patient;
如果這包含e28099
,則數據庫中的數據很好,問題在於您的客戶端編碼。 這假設數據庫的服務器編碼是UTF8
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.