2017-06-07 3 views
0

通貨記号の列を作成し、それをUnicode値でbyteaとして保存しようとしましたが、実際の記号文字ではなく、生のコードとしてデータベースマネージャー(intellij)に表示されます。 これを行うには、どのような方法が適していますか?通貨記号をpostgresqlに保存する最も良い方法は何ですか?

+2

なぜテキストだけではない... –

+0

を(例えば)ユーロ記号ではないので?あなたが文字列として挿入するだけで、それを取得したら正しく表示されません。 – sharon182

+0

ASCIIテーブル?.. 'show server_encoding'?.. –

答えて

0

私は、全体のポイントを欠場しなければならないCOS私だけでしょう:また、postgresの内部貨幣の種類を使用して最初に望んでいた、それは右に看板を置くため

x=# with utf(sign,currency) as (values(e'\u20BD','Rubble'),(e'\u20AC','Euro'),(e'\u20AF','Drachma')) 
select *,pg_typeof(sign) from utf; 
sign | currency | pg_typeof 
------+----------+----------- 
₽ | Rubble | text 
€ | Euro  | text 
₯ | Drachma | text 
(3 rows) 

UTFコードは、https://www.w3schools.com/charsets/ref_utf_currency.asp

から撮影(金額の前または後の)場所が、ヒンディー語のロケールで失敗しました:

x=# set lc_monetary TO 'hi_IN'; 
ERROR: invalid value for parameter "lc_monetary": "hi_IN" 
Time: 0.332 ms 
x=# set lc_monetary TO 'EN_ie'; 
SET 
Time: 0.514 ms 
x=# select 1::money; 
money 
------- 
€1.00 
(1 row) 

Time: 3.313 ms 
x=# set lc_monetary TO 'RU_ru'; 
SET 
Time: 10.178 ms 
x=# select 1::money; 
    money 
----------- 
1,00 руб. 
(1 row) 
関連する問題