java - Java 无法从 Db2 数据库中读取中文字符
问题描述
我正在尝试从 Db2 数据库中读取 Java 应用程序汉字
Db2 数据库配置
DB2 数据库 XDSN3T 配置:
使用 DB2 CLP 数据正确显示
也来自另一个delphi应用程序中文数据是正确的
- 区域和语言选项,高级,非 unicode 程序 --> 中文 RPC
非 unicode 程序:
只有 Java 不能正确显示数据 --> ÃæÁÏ¡¢¸¨ÁÏ¡¢¸½¼þ
也许与JDBC有关的东西..
解决方案
正如人们所说,编码可能是一个问题。Java 中的字符是使用 UTF-16 编码存储的,这本身就存在一些关于中文(还有一些表情符号)字符编码的问题。
您可以在此处找到 UTF-16 的字符列表: https ://www.fileformat.info/info/charset/UTF-16/list.htm
当字符无法使用单个 16 位单元进行编码时,就会出现 UTF-16 的问题。这些字符使用两个 16 位单元编码,称为代理对。请参阅:https ://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#unicode
抱歉,我无法提供完整的答案,但我希望这会有所帮助
推荐阅读
- python - 带有kivy的随机屏幕显示
- javascript - v-on 单击,仅在满足条件时添加处理程序
- reactjs - Meteor-React 教程:缺少安装 Babel 包的步骤
- node.js - 使用 PM2 运行节点服务器
- couchdb - 如何在 couchdb 中使用 $size 和 $gt 查找大小大于 2 的所有文档数组键
- sql-server - T-SQL - SELECT SCOPE_IDENTITY 在 vba 代码中不起作用
- css - 将屏幕分成不同宽度的两部分
- php - 如何获取 option_name 的值并在前端显示?
- ios - UITableView 中的 UITextField 与 DatePicker 的 InputView
- php - Codeigniter 路由 webservice 仅调用默认 url