0 0

Oracle 10G 部门中文乱码5

PL/SQL Developer  查询数据库 其中大部门的中文都是正常的  

但是 有很少的一部分 显示的是 "?"

select * from V$NLS_PARAMETERS;
NLS_CHARACTERSET:ZHS16GBK


select * from sys.props$;
NLS_CHARACTERSET:ZHS16GBK

select userenv('language') from dual;
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


注册表:NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

请哪位高手 帮看看 谢谢

问题补充:
suziwen 写道
这个可能有三个原因:
1.你表单提交的数据就是乱码。


2.你表单提交的页面使用的编码不是16GBK,而是gb2312或其他比gbk范围小的字符集,虽然GBK和GB2312大部份字可以互相识别,但GB2312是GBK的子集,即GB2312有的文字,GBK肯定有,但GBK有的文字GB2312可能没有。所以当用户提交含有超过GB2312范围的字时,页面提交到服务器时就已经乱码了,再存到数据库一定是乱码。解决办法是统一字符集,尽量使用包含文字比较多的字符集。


3.GBK的字符集还不能包括所有汉字,目前包含最全的应该是UTF-8,不过在UTF-8之前,应该是GB18030,如果你的数据库里存的数据在GBK范围内的话,就不会乱码,但是当有些汉字不在GBK里时,这些数据就会变成乱码。所以如果是这种情况的话,你可能得把你的数据库字符集升到GB18030上了(或者UTF-8,不过我这边经常用的是GB18030)



首先谢谢你的回答,你说的这种情况确实用可能会出现乱码。

但我的 数据不是来自 表单 我是从 SQL Server2005 导入到我的Oracle 10G

上来的 SQL Server2005里面不是乱码, 我实在是不明白 为什么会这样,

请高手 给我多解释 解释。。 最后实在感谢你的回到。。

问题补充:
suziwen 写道
你那得确认你用的导入导出工具使用的编码是什么,
这个跟是不是从表单取得差不多是一个原理。

或者你先试一下有乱码的数据跟MSSQL里对应的数据是什么内容。
确认这些数据编码是在GBK范围内,(最简单的试验办法是直接在ORACLE里INSERT 这些数据看会不会乱馬,如果乱码,则说明你的ORACLE数据库字符集太小,得调大,如果没有乱码,那就是你用的导入导出工具使用的编码范围太小,得把导入导出工具的编码调大。。。。)



好的  谢谢你  我先去尝试一下,看看行不

我用的是 TongIntegrator 工具 

个人认为 只用两种可能

1.Oracle 字符集太小
2.工具转换的过程中,工具的本身编码有问题

再次表示感谢~~
2010年3月30日 14:36

2个答案 按时间排序 按投票排序

0 0

你那得确认你用的导入导出工具使用的编码是什么,
这个跟是不是从表单取得差不多是一个原理。

或者你先试一下有乱码的数据跟MSSQL里对应的数据是什么内容。
确认这些数据编码是在GBK范围内,(最简单的试验办法是直接在ORACLE里INSERT 这些数据看会不会乱馬,如果乱码,则说明你的ORACLE数据库字符集太小,得调大,如果没有乱码,那就是你用的导入导出工具使用的编码范围太小,得把导入导出工具的编码调大。。。。)

2010年3月31日 13:37
0 0

这个可能有三个原因:
1.你表单提交的数据就是乱码。


2.你表单提交的页面使用的编码不是16GBK,而是gb2312或其他比gbk范围小的字符集,虽然GBK和GB2312大部份字可以互相识别,但GB2312是GBK的子集,即GB2312有的文字,GBK肯定有,但GBK有的文字GB2312可能没有。所以当用户提交含有超过GB2312范围的字时,页面提交到服务器时就已经乱码了,再存到数据库一定是乱码。解决办法是统一字符集,尽量使用包含文字比较多的字符集。


3.GBK的字符集还不能包括所有汉字,目前包含最全的应该是UTF-8,不过在UTF-8之前,应该是GB18030,如果你的数据库里存的数据在GBK范围内的话,就不会乱码,但是当有些汉字不在GBK里时,这些数据就会变成乱码。所以如果是这种情况的话,你可能得把你的数据库字符集升到GB18030上了(或者UTF-8,不过我这边经常用的是GB18030)

2010年3月30日 21:17

相关推荐

    Oracle10g字符集设置,解决中文乱码

    在Windows环境下,Oracle 10g客户端的安装可能会遇到中文乱码问题,这通常是因为新安装的客户端与旧版本(如Oracle 9i)之间的字符集不兼容或者未正确设置导致的。 首先,我们要理解字符集的概念。字符集是一种定义...

    Oracle 10g 中文乱码问题

    ### Oracle 10g 中文乱码问题解析 #### 原因分析 在使用Oracle 10g数据库过程中,可能会遇到中文字符显示为乱码的情况。这种问题往往出现在数据库安装后,在尝试插入中文数据并查询时,数据显示为“?????”等形式...

    linux oracle11g中文乱码解决字体

    linux oracle11g中文乱码解决字体. centos6 下测试: mkdir -p /usr/share/fonts/zh_CN/TrueType cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/ 这就可以了。 有时候有字体查看工具,用那个打开也可以安装,可以...

    oracle10G和oracle11G的OCI.dll

    在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库的底层接口。Navicat是一款流行的数据库管理工具,它利用oci.dll来连接并操作Oracle数据库。 Oracle 10G是Oracle公司在2003年...

    oracle11g中文乱码

    本文件解决类linux环境下,oracle11g出现中文乱码情况。 把zysong.ttf文件放于/usr/share/fonts/zh_CN/TrueType目录下 若没有此目录执行mkdir -p /usr/share/fonts/zh_CN/TrueType命令 cp zysong.ttf /usr/share/...

    linux安装oracle解决安装界面中文乱码

    在Linux环境下安装Oracle数据库时,可能会遇到一个常见的问题:安装界面中文显示为“小方块”或乱码。这个问题通常是由于系统缺少必要的字体支持导致的。以下是一套详细的解决方案,帮助你解决这个问题。 1. **确认...

    linux安装oracle 11g乱码(图解)

    本篇文章将详细解析三种解决Linux安装Oracle 11g乱码的方法。 方法一:调整Linux系统的字符集设置 1. 首先,确认当前Linux系统的字符集,可以通过`locale`命令查看: ``` locale ``` 2. 如果发现字符集不支持中文,...

    oracle 10g _64x

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它主要针对64位操作系统环境设计。Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。...

    oracle 11g ,10g软件资源 百度云下载

    ### Oracle 11g与10g软件资源百度云下载相关知识点 #### 一、Oracle数据库简介 Oracle数据库是美国甲骨文公司的一款关系型数据库管理系统,在市场上占有重要的份额。Oracle数据库以其高度的安全性、可靠性和灵活性...

    oracle 10g 考试题库

    Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于数据库管理员(DBA)来说是重要的学习和认证目标。"Oracle OCP"(Oracle Certified Professional)是...

    oracle10 中文乱码

    解决oracle10 中文乱码;

    oracle安装时中文乱码解决办法

    对于 Oracle 10g EM 企业管理器 WEB 界面中文乱码问题,可以通过编辑 /opt/oracle/product/10.2/jre/1.4.2/lib/font.properties 文件来解决。需要将 font.properties 文件替换为 font.properties.ch_CN.Redhat 文件...

    oracle10g 安装操作实用手册

    Oracle 10g是甲骨文公司发布的一款关系型数据库管理系统,属于Oracle Database产品系列的第十个主要版本。它于2003年发布,支持当时流行的操作系统平台,并引入了众多新特性,包括对网格计算的支持、数据泵、自动...

    Oracle10g-linux安装包

    Oracle10g-linux安装包

    Linux下Oracle 10g安装

    在Linux环境下安装Oracle数据库10g是一项复杂但必要的任务,对于数据库管理员(DBA)和想要学习如何在Linux平台上安装和配置Oracle数据库的IT专业人员来说,这是一项基础技能。以下是在Linux上安装Oracle 10g的详细...

    oracle 10g for linux

    《在Linux系统上安装Oracle 10g的详细步骤与注意事项》 Oracle 10g是一款功能强大的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Linux环境下安装Oracle 10g需要遵循一定的步骤,并且对系统资源有...

    Oracle 10g入门与提高

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在数据库管理领域具有广泛的使用,尤其对于企业级应用和大数据处理。本资料“Oracle 10g入门与提高”是一份PPT教程,旨在帮助初学者掌握Oracle 10g的基础...

    Oracle10g官方中文文档

    Oracle 10g是Oracle公司推出的数据库管理系统的一个重要版本,其官方中文文档为学习和管理员提供了详尽的指导。在"Oracle10g官方中文文档"中,我们可以深入理解Oracle数据库的核心概念、功能特性和管理策略。以下是...

Global site tag (gtag.js) - Google Analytics