2013-11-14 64 views
0

我要存儲一個字符串像在我的數據庫表之一以下:貯藏格式不正確的Unicode字符串中的Postgres

[email protected]@[email protected]@[email protected]}CbEoD|EM`@[email protected][[email protected][[[email protected]@[[email protected][email protected][email protected]}KvBuPX}B`[email protected]}AlDaA|[email protected] 

這其實是編碼路線的谷歌地圖的一部分。當我嘗試將此字符串存儲在文本字段中時,出現錯誤:

invalid Unicode escape 
    Hint: Unicode escapes must be \uXXXX or \UXXXXXXXX. 
    Position: 123 

我該如何解決這個問題?

編輯:

Postgres Version: 9.0, Both Server and Client runs on Windows 7 x86, Server encoding: UTF8, Client encoding: Unicode

我發出的命令從Java應用程序的價值在文本字段存儲在表

+3

這是真正的字符串嗎?看起來像簡單的ASCII給我。 –

+0

首先提供您的Postgres版本,您發佈的命令(您的相關部分),您使用的客戶端和操作系統,您的數據庫服務器的操作系統以及客戶端和服務器編碼的設置:'SHOW server_encoding;'SHOW client_encoding;' –

+0

@ muistooshort,我怎麼能減輕錯誤?我不確定將數據庫編碼轉換爲ASCII是否有幫助。 –

回答

0

首先,SQL-ASCII允許你存儲這種因爲它不做任何編碼檢查。但是,一般而言,這是不鼓勵的。如果你沒有執行編碼,那麼你可能首先需要知道這一點。

是否有任何理由不能將字段存儲爲bytea並將數據視爲任意二進制數據?