-
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个答案 按时间排序 按投票排序
-
你那得确认你用的导入导出工具使用的编码是什么,
这个跟是不是从表单取得差不多是一个原理。
或者你先试一下有乱码的数据跟MSSQL里对应的数据是什么内容。
确认这些数据编码是在GBK范围内,(最简单的试验办法是直接在ORACLE里INSERT 这些数据看会不会乱馬,如果乱码,则说明你的ORACLE数据库字符集太小,得调大,如果没有乱码,那就是你用的导入导出工具使用的编码范围太小,得把导入导出工具的编码调大。。。。)2010年3月31日 13:37
-
这个可能有三个原因:
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
相关推荐
在Windows环境下,Oracle 10g客户端的安装可能会遇到中文乱码问题,这通常是因为新安装的客户端与旧版本(如Oracle 9i)之间的字符集不兼容或者未正确设置导致的。 首先,我们要理解字符集的概念。字符集是一种定义...
### Oracle 10g 中文乱码问题解析 #### 原因分析 在使用Oracle 10g数据库过程中,可能会遇到中文字符显示为乱码的情况。这种问题往往出现在数据库安装后,在尝试插入中文数据并查询时,数据显示为“?????”等形式...
linux oracle11g中文乱码解决字体. centos6 下测试: mkdir -p /usr/share/fonts/zh_CN/TrueType cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/ 这就可以了。 有时候有字体查看工具,用那个打开也可以安装,可以...
在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库的底层接口。Navicat是一款流行的数据库管理工具,它利用oci.dll来连接并操作Oracle数据库。 Oracle 10G是Oracle公司在2003年...
本文件解决类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数据库时,可能会遇到一个常见的问题:安装界面中文显示为“小方块”或乱码。这个问题通常是由于系统缺少必要的字体支持导致的。以下是一套详细的解决方案,帮助你解决这个问题。 1. **确认...
本篇文章将详细解析三种解决Linux安装Oracle 11g乱码的方法。 方法一:调整Linux系统的字符集设置 1. 首先,确认当前Linux系统的字符集,可以通过`locale`命令查看: ``` locale ``` 2. 如果发现字符集不支持中文,...
Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它主要针对64位操作系统环境设计。Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。...
### Oracle 11g与10g软件资源百度云下载相关知识点 #### 一、Oracle数据库简介 Oracle数据库是美国甲骨文公司的一款关系型数据库管理系统,在市场上占有重要的份额。Oracle数据库以其高度的安全性、可靠性和灵活性...
Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于数据库管理员(DBA)来说是重要的学习和认证目标。"Oracle OCP"(Oracle Certified Professional)是...
解决oracle10 中文乱码;
对于 Oracle 10g EM 企业管理器 WEB 界面中文乱码问题,可以通过编辑 /opt/oracle/product/10.2/jre/1.4.2/lib/font.properties 文件来解决。需要将 font.properties 文件替换为 font.properties.ch_CN.Redhat 文件...
Oracle 10g是甲骨文公司发布的一款关系型数据库管理系统,属于Oracle Database产品系列的第十个主要版本。它于2003年发布,支持当时流行的操作系统平台,并引入了众多新特性,包括对网格计算的支持、数据泵、自动...
Oracle10g-linux安装包
在Linux环境下安装Oracle数据库10g是一项复杂但必要的任务,对于数据库管理员(DBA)和想要学习如何在Linux平台上安装和配置Oracle数据库的IT专业人员来说,这是一项基础技能。以下是在Linux上安装Oracle 10g的详细...
《在Linux系统上安装Oracle 10g的详细步骤与注意事项》 Oracle 10g是一款功能强大的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Linux环境下安装Oracle 10g需要遵循一定的步骤,并且对系统资源有...
Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在数据库管理领域具有广泛的使用,尤其对于企业级应用和大数据处理。本资料“Oracle 10g入门与提高”是一份PPT教程,旨在帮助初学者掌握Oracle 10g的基础...
Oracle 10g是Oracle公司推出的数据库管理系统的一个重要版本,其官方中文文档为学习和管理员提供了详尽的指导。在"Oracle10g官方中文文档"中,我们可以深入理解Oracle数据库的核心概念、功能特性和管理策略。以下是...