資料庫字元編碼與JDBC 不符
在實現跨資料庫互通性時,字元編碼相容性起著至關重要的作用。在此特定場景中,使用 GlassFish 3、JPA 和 MySQL 的 Java Web 應用程式面臨字元編碼問題。具體來說,使用 JPA 的 update() 方法保存的字串欄位會出現資料損壞,顯示「?」而不是某些字元。
儘管伺服器、頁面和資料庫都配置為使用 UTF-8,但罪魁禍首卻在其他地方。 決定連接資料庫時使用的字元編碼的是 JDBC(Java 資料庫連線),而不是 JPA。 因此,確保 JDBC 連接字串包含正確的字元編碼至關重要。
如同提供的解決方案中所建議的,MySQL 連接字串的適當語法是:
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8
透過明確指定字元編碼在JDBC 中,連接將使用UTF-8,它與資料庫、伺服器和頁面編碼相符。這可確保一致的字元表示,防止資料損壞以及用“?”取代某些字元。
以上是為什麼跨資料庫互通場景中我的字串欄位顯示'?”而不是字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!