sqlload导入txt文件乱码问题

[复制链接]
查看11 | 回复8 | 2007-4-25 04:02:08 | 显示全部楼层 |阅读模式
本人新手,遇到一个好像和字符集编码有关的sqlload问题,请大家帮忙解决下,问题如下:
txt文件unix下查看cat -v XJ.txt中文是乱码,行尾有^M,判断应该是ANSI编码的, unix下sqlload导入表中,中文也是乱码。
将文件下载到xp机器上,在xp上用记事本打开看,中文不是乱码,可通过xp系统sqlload入库中文也是乱码;
最终测试在xp上将XJ.txt记事本打开,选择另存为 编码选ANSI ,然后xp上sqlload导入中文不是乱码了。 将另存为的txt文件上传到unix上,查看中文不是乱码,sqlload也不是乱码了 。 这是什么原因啊?txt文件见附件






相关文件.rar(307.72 KB, 下载次数: 69)2012-5-8 09:56 上传点击文件名下载附件



回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
把档案改成utf8的就没事了
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
huchangweiitpub 发表于 2012-5-8 10:45
把档案改成utf8的就没事了

在unix上有什么简单的方法改吗
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层


只知道utf8是国际公用的. 其他的方法就不了解了.
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
写个脚本 使用iconv转换文件编码
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
^M是换行问题,linux下chr(10),windows是chr(13)chr(10)
所以linux问题到windows下用记事本看有黑框,windows文件到linux下看有^M
删除^M :%s/^M$//g

回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
乱码?设置下LANG环境变量看看效果
export LANG=zh_CN.gbk
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
mysql导入数据到oracle 文本文件不是乱码,导入数据库中文变乱码,服务器客户端字符集方式一样,指定字符集无效,依然乱码。这是什么问题。
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
dingjun123 发表于 2012-5-12 22:35
^M是换行问题,linux下chr(10),windows是chr(13)chr(10)
所以linux问题到windows下用记事本看有黑框,wind ...

还可以用dos2unix命令去掉^M
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行