不同字符集数据库之间转码办法 以WE8ISO8859P1转到ZHS16GBK为例
来源:互联网 发布:剑灵灵剑士捏脸数据 编辑:程序博客网 时间:2024/05/22 01:45
今天要和一个数据库做人员基础数据同步,对方提供了连接串,结果连上去以后,发现查询对方的中文数据时都显示乱码,因此百度google了一通,其中有查到如下链接的帖子:
http://kennyblues.itpub.net/post/31846/455855
通过帖子中的办法,没有成功,因此基于它的实现方法,自己摸索,如下方法实现了正常显示
select * from nls_database_parameters 能查询数据库字符集、版本等信息
对方数据库:
NLS_CHARACTERSET 为 WE8ISO8859P1
NLS_NCHAR_CHARACTERSET 为 UTF8
本方数据库:
NLS_CHARACTERSET 为 ZHS16GBK
NLS_NCHAR_CHARACTERSET 为 AL16UTF16
实现方法:
1、在对方数据库建立视图:将中文字段用utl_raw.cast_to_raw转换
CREATE OR REPLACE VIEW v_view (
chinese_field
) AS
SELECT Utl_Raw.cast_to_raw(chinese_field) remark FROM table_name;
2、在本地数据库使用DBLINK直接查询
select convert(utl_raw.cast_to_varchar2(chinese_field), 'ZHS16GBK') chinese_field from v_view@db_link_name;
- 不同字符集数据库之间转码办法 以WE8ISO8859P1转到ZHS16GBK为例
- Oracle 不同字符集(中英文字符集)直接转换查询,解决中文乱码,以ZHS16GBK转为WE8ISO8859P1为例
- oracle10g更改字符集WE8ISO8859P1为ZHS16GBK
- 转: Linux 下修改oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK
- Linux 下修改oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK
- Linux 下修改Oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK
- Linux 下修改Oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK
- Oracle 10g修改数据库字符集:WE8ISO8859P1=>ZHS16GBK
- oracle的字符集:WE8ISO8859P1 , ZHS16GBK
- 将US7ASCII 字符集的数据转到ZHS16GBK 字符集数据库
- ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库
- 字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库
- oracle字符集AL32UTF8为ZHS16GBK
- 修改oralce11g 字符集为ZHS16GBK
- oracle 修改字符集 为ZHS16GBK
- oracle11g更改字符集AL32UTF8为ZHS16GBK
- oracle11g更改字符集AL32UTF8为ZHS16GBK
- oracle11g更改字符集AL32UTF8为ZHS16GBK
- 跨服务器跨数据库访问,暂存,待整理
- 一个IT程序员的反思!
- HOOK专题
- 如果客户端提交的FQDN本服务器没有,那么禁止服务器会帮助客户端去查询
- python zip文件压缩_python
- 不同字符集数据库之间转码办法 以WE8ISO8859P1转到ZHS16GBK为例
- 教你如何将你的Qt项目打包安装在MeeGo系统中
- 为什么我选择Google Map?
- 实践指南:VMware虚拟机上网设置和故障排查
- 纠结啊~到底alpha和rgb有什么关系啊?
- 腾讯挨骂,缺乏创新的悲哀
- Linux下通过共享内存进行进程间通信,进程间同步使用信号量来实现
- 4.1 进程调度_策略
- NOD32升级帐号获取源码