Jxstar Oracle 支持东南亚多语言数据库配置

      由于一项目需要支持录入东南亚多语言,支持语言类型包括:中文、英语、越南语、缅甸语、柬埔寨语,软件界面与部分主数据需要支持多语言,业务数据需要支持录入东南亚语言。数据库采用Oracle,则需要设置字符集为 UTF-8 ,这样保证存储数据不会乱码。同时避免之前数据库VARCHAR2字段类型长度不够,把数据库参数设置为 NLS_LENGTH_SEMANTICS = CHAR 。
 
数据库的处理方法如下:

1、先导出 exp 现在的 jxstar_cloud 数据库为dmp文件,然后创建一个新的用户 jxstar_cloud1 , 通过 imp 导入数据,
   然后执行下面的SQL,把查询出来的SQL在jxstar_cloud1中执行一次:
select 'alter table '||table_name||'  modify '||column_name||' '||data_type||'('||DATA_LENGTH||' CHAR);' 
from user_tab_cols where data_type like '%CHAR%' and table_name in (select table_name from user_tables) order by table_name, column_name
2、然后再 exp 导出 jxstar_cloud1 用户的数据为 dmp文件。
3、重新创建一个数据库实例,字符集设置为 UTF-8 ,创建实例时,初始参数 NLS_LENGTH_SEMANTICS 设置为 CHAR ,原来的默认为 BTYE 。
4、再导入 jxstar_cloud1 用户的 dmp 文件,这样能避免在 utf8 字符集环境中,部分varchar2类型数据超长。


 

0 个评论

要回复文章请先登录注册