【发布时间】:2010-12-16 23:01:29
【问题描述】:
您好,我如何更改或更改数据库的字符集以支持日本语字符
【问题讨论】:
-
您当前的数据库和国家字符集是什么?
标签: oracle character-encoding internationalization character-set
您好,我如何更改或更改数据库的字符集以支持日本语字符
【问题讨论】:
标签: oracle character-encoding internationalization character-set
您应该可以使用任何种类的 UTF-8。
字符集通常在创建数据库时指定。如果以后需要改的话,有ALTER DATABASE CHARACTER SET command,不过需要数据迁移:
要更改数据库字符集,请执行以下步骤:
- 使用 SHUTDOWN IMMEDIATE 或 SHUTDOWN NORMAL 语句关闭数据库。
- 对数据库进行完整备份,因为 ALTER DATABASE CHARACTER SET 语句无法回滚。
- 完成以下陈述:
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;
如您所见,您需要离线并转换数据库。
【讨论】:
ALTER DATABASE CHARACTER SET ... 自 Oracle 10R1 起不再支持,您可能会破坏您的数据库(参见示例 stackoverflow.com/questions/15224015/…)。但是,如果旧字符集是 US7ASCII,那么这种方法可能会异常有效。
Unicode 是你的朋友,使用 NVARCHAR 或 NTEXT。
【讨论】: