最初由 eagle_fan 发布 [B]你的两台服务器 进行exp imp操作的客户端,和你最后察看结果的客户端的字符集是不是都一样? [/B]
使用道具 举报
最初由 zjxs 发布 [B]9i中imp和exp中ddl的处理和data的处理是不一样的,ddl是在exp时从源数据库字符集转换为客户端字符集,imp时先转换为客户端字符集,然后转换为目标数据库字符集,而data是直接从源数据库字符集转换为目标数据库字符集,所以会出现字段名出现?号,而数据显示正常的情况,我做了个实验: 数据库为ZHS16GBK,NLS_LANG设置为AMERICAN_AMERICA.ZHS16GBK,exp/imp后数据没有异常 NLS_LANG设置为AMERICAN_AMERICA.US7ASCII,exp/imp后中文字段名出现?号,而中文数据显示正常(查询时设置为ZHS16GBK),设置为US7ASCII导出而ZHS16GBK导入也出现相同的现象 所以NLS_LANG设置错误可能是原因 [/B]
最初由 coolyl 发布 [B]你从哪里查看的是乱码?客户端还是本机?如果是本机确认你先安装好了中文语言包没有,然后如果这些都没问题,试试手工创建那些中文用户和表,然后导入数据 [/B]
最初由 zjxs 发布 [B]是不是象这样: SQL> select * from test2; A -------------------- 中国 SQL> desc test Name Null? Type ----------------------------------------- -------- ---------------------------- ? NUMBER test表的字段本来应该是“中”,exp/imp后变成了?号,但是test2表的中文内容都没有异常 和操作系统中文包应该没有问题吧,操作系统中文包只影响log信息的输出,不会影响数据库存储的 [/B]
本版积分规则 发表回复 回帖后跳转到最后一页