java - 如何在oracle中通过java保存unicodes

标签 java oracle unicode

假设以下三股在中文中组成一个单词,我如何将所有这些一起存储在oracle中的单个字段(作为一个单词)中

 String code="\u6B32 ";
 String code1="\u8ECE";
 String code2="\u4F7F";

谢谢

最佳答案

您可以简单地将字符串设置为 JDBC PreparedStatement 的参数。要存储 Unicode,您需要要求 DBA 确保 Oracle 实例是使用 Unicode 字符集(例如 UTF-8)创建的(或者,NVARCHAR 类型使用 Unicode 字符集)。

建议的 Oracle 设置:

  • NLS_CHARACTERSET:AL32UTF8
  • NLS_LENGTH_SEMANTICS:CHAR

您可以通过发出以下查询来检查 NLS 参数:

select * from v$nls_parameters

由于您将保存中文字符,我建议您阅读 Unicode supplementary characters和他们的implementation in Oracle DB 。每个 Unicode 字符集以不同的方式存储增补字符,这可能会对磁盘上​​数据库的大小产生重大影响。此外,长度语义可能会更加复杂,因为代码点数量和字符数量之间不再是 1:1 关系。

进一步阅读:

关于java - 如何在oracle中通过java保存unicodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5911026/

相关文章:

java - 如何在Android Studio中显示几分钟后显示隐藏内容

java - Oracle 不使用基于函数的索引来进行带有绑定(bind)变量的 regex_replace

java.sql.Date 到 joda 时间转换

java - 在 java 和 csv 文件中设置 UTF-8

python - 如何在 Python 中生成 x 转义的 UTF-8?

java - Getter 方法在增强循环中不起作用

Java 循环遍历数组 - 优化

java - 读入和写出

java - CLOB 值太大,无法插入到 DB2 表中

swift - NSDate格式解释