0
在數據庫中AptNumber的值=1º,但使用select查詢時返回AptNumber = 1 so,所以在選擇º
更改爲ᄎ
。使用JdbcTemplate從數據庫中正確返回的特殊字符
Aplication:彈簧批處理 使用:JdbcTemplate的連接DB 數據的基礎上:甲骨文 QUERTY:從CUST_ADDR選擇APT_NBR WHERE CUST_ADDR_ID = 12345;
在數據庫中AptNumber的值=1º,但使用select查詢時返回AptNumber = 1 so,所以在選擇º
更改爲ᄎ
。使用JdbcTemplate從數據庫中正確返回的特殊字符
Aplication:彈簧批處理 使用:JdbcTemplate的連接DB 數據的基礎上:甲骨文 QUERTY:從CUST_ADDR選擇APT_NBR WHERE CUST_ADDR_ID = 12345;
º
是性格U+00BA: MASCULINE ORDINAL INDICATOR
您的數據庫字符集是US7ASCII
,這組不支持º
因此,不能將它。
您的數據庫設置爲US7ASCII
,但您的Java使用UTF-16。 Java將0x00 0xBA
發送到數據庫。我不知道爲什麼,但是這被轉換爲0xFF 0xBA
,當編碼爲UTF-16時,它是ᄎ
U+FFBA HALFWIDTH HANGUL LETTER CHIEUCH。
你可以做以下事情。
NVARCHAR2
數據類型而不是VARCHAR2
。通常,國家字符集是支持所有Unicode字符的Unicode集合。°
U+00B0: DEGREE SIGN的解決方法。但是它也不受ASCII支持。
你從CUST_ADDR中選擇DUMP(APT_NBR,1016)WHERE CUST_ADDR_ID = 12345;'? –
什麼是數據庫的字符集? (SELECT * FROM V $ NLS_PARAMETERS WHERE PARAMETER LIKE'%CHARACTERSET';' –
奇怪的是,如果你得到'슺'([U + C2BA](https://codepoints.net/U+C2BA) HANGUL SYLLABLE SEUJ),那麼我會說:你的DB將字符存儲爲UTF-8(或AL32UTF8),但是你的java設置爲UTF-16 –