【问题标题】:Oracle Database Character SetOracle 数据库字符集
【发布时间】:2010-12-16 23:01:29
【问题描述】:

您好,我如何更改或更改数据库的字符集以支持日本语字符

【问题讨论】:

  • 您当前的数据库和国家字符集是什么?

标签: oracle character-encoding internationalization character-set


【解决方案1】:

您应该可以使用任何种类的 UTF-8。

字符集通常在创建数据库时指定。如果以后需要改的话,有ALTER DATABASE CHARACTER SET command,不过需要数据迁移:

要更改数据库字符集,请执行以下步骤:

  1. 使用 SHUTDOWN IMMEDIATE 或 SHUTDOWN NORMAL 语句关闭数据库。
  2. 对数据库进行完整备份,因为 ALTER DATABASE CHARACTER SET 语句无法回滚。
  3. 完成以下陈述:
  STARTUP MOUNT;
  ALTER SYSTEM ENABLE RESTRICTED SESSION;
  ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  ALTER SYSTEM SET AQ_TM_PROCESSES=0;
  ALTER DATABASE OPEN;
  ALTER DATABASE CHARACTER SET new_character_set;
  SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL; 
  STARTUP;

如您所见,您需要离线并转换数据库。

【讨论】:

【解决方案2】:

Unicode 是你的朋友,使用 NVARCHAR 或 NTEXT。

【讨论】:

  • 搞笑..呵呵..从来没想过检查列类型..Tnx
  • 虽然 NVARCHAR2 或 NCHAR 数据类型可以工作(假设 National 字符集为 AL16UTF16),但请注意,使用 National 字符集对象通常会给应用程序增加相当多的复杂性。不同的工具通常不能与国家字符集对象一起正常工作,或者需要额外的标志或设置,或者需要调用不同的 API。换句话说,它不一定是 VARCHAR2 列的直接替代品。
  • 与贾斯汀的部分协议 :-) 可以增加一些复杂性,但也可以消除一些。但在过去几年中,各种工具对 Unicode 的支持越来越好,这绝对是未来。
猜你喜欢
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 2011-09-29
相关资源
最近更新 更多