在 JDBC url 中指定字符編碼。前任:jdbc:mysql://host:3306/db?characterEncoding=UTF8.jdbc:teradata://host/DBS_PORT=1025,DATABASE=Orders,CHARSET=UTF8我試圖了解這實際上是如何工作的。這是否意味著客戶端專門詢問服務器它想要數據的字符編碼?如果實際數據在 DB 中以不同的字符編碼保存(比如 Shift_JIS),DB 服務器是否在將數據發送到客戶端之前執行編碼轉換?(在這個例子中,從 SJIS 到 UTF-8 ?)
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
這與 JDBC 沒有直接關系,但它是各個 JDBC 驅動程序的特定實現細節。并非所有驅動程序/數據庫都允許您指定連接字符集。這可能是因為他們的協議總是使用特定的字符集,或者每列的編碼是固定的并與數據一起通信。如果驅動程序確實具有這樣的屬性,其影響將因驅動程序/數據庫系統而異,甚至可能因特定數據庫、表甚至列而異。
不可能確切地概括這種設置對驅動程序的作用。
我已經發現很難描述我維護的 JDBC 驅動程序的連接字符集的確切影響(和邊緣情況)......,更不用說考慮/調查其他驅動程序了。
添加回答
舉報
0/150
提交
取消