原数据库的字符集为we8iso8859p1 目标数据库的字符集为zhs16gbk
通过对目标数据库的字符集(zhs16gbk)转换为we8iso8859p1,然后将原数据库中数据导到目标数据库,再对目标数据库字符集进行转换(从we8iso8859p1到zhs16gbk),中文显示正常。
但是exp工具导成dmp文件,用imp工具导入后,中文就无法正常显示了。我做过一个实验,在一张表为比如为table1中添加一个字段,在新加的字段里填写的中文可以正常显示,在表原有的字段里填写的中文无法正常显示,。(注通过dump显示的编码值是一样的也是这样)。请各位大侠分析下原因出在哪里??
通过对目标数据库的字符集(zhs16gbk)转换为we8iso8859p1,然后将原数据库中数据导到目标数据库,再对目标数据库字符集进行转换(从we8iso8859p1到zhs16gbk),中文显示正常。
但是exp工具导成dmp文件,用imp工具导入后,中文就无法正常显示了。我做过一个实验,在一张表为比如为table1中添加一个字段,在新加的字段里填写的中文可以正常显示,在表原有的字段里填写的中文无法正常显示,。(注通过dump显示的编码值是一样的也是这样)。请各位大侠分析下原因出在哪里??
解决方案 »
- 菜鸟请教:手动创建数据库疑问
- 求sql语句
- 关于ORACLE 导入和导出数据
- next_day命令的使用
- Oracle10g,双击安装就提示临时文件夹不能写,出错.
- 着急啊,老大来看看
- 高分求救exp导出数据问题
- oracle 的启动服务错误,请高手指点,分数不够在加
- 在Oracle中哪里可以设置timeout的时间? 即用户端连接Oracle在一定的时间内如果没有任何对数据库的操作就自动断开连接?
- 请教一个sql语句
- 如何设置Oracle数据库的操作系统认证模式?
- 高手们:快点帮帮我吧!ORA-12545:Connect failed because target host or object does not exist
可以通过其他方式导出/导入,比如文本文件形式。
2、对表数据进行更改(添加字段/修改记录等),都是在当前字符集下完成的,当然没有乱码的问题;
首先非常感谢两位回帖。1、imp/exp工具都是带字符集工作的,所以源数据库与目标数据库字符集必须一致;
可以通过其他方式导出/导入,比如文本文件形式。
2、对表数据进行更改(添加字段/修改记录等),都是在当前字符集下完成的,当然没有乱码的问题;
对于第1条,imp/exp工具都是当前已经正常显示了中文的字符集下进导入/导出的,应该说是不会发生转换动作的啊(因为导出和导入的字符集都是一样的)。
对于第2条,我非常赞同你的看法,可是奇怪的事又发生了,在当前字符集下添加数据按理说是不会有乱码,但是在原有字段里输入的数据,在经过导出、导入之后还是会出现乱码,而新添加的字段的数据就不会出现乱码。这又是什么原因呢??