一直没有意识到数据库的编码,这一次,碰到了一个很奇特的问题,varhcar2的字段存中文都是乱码,nvarhcar2用sql插入的中文也是乱码,几经折腾,才知道
Oracle数据库在安装的时候,是可以指定编码,其中有两种编码要指定
NLS_CHARACTERSET
US7ASCII
NLS_NCHAR_CHARACTERSET
AL16UTF16
而碰到的数据库设置的编码就是上面的情况,这也解析了varchar2不能存中文的原因,US7ASCII是不支持中文的
而nvarchar2用sql插入中文是乱码却是编码上的问题
他需要在指定参数时告诉oracle,这个参数的类型是nchar,这样被插入的数据才被编码为AL16UTF16,不会出现乱码的情况,代码如下
OraclePreparedStatement orastmt =(OraclePreparedStatement)conn.prepareStatement(
"insert into table1 (column1) values(?)");
// Bind the 3rd parameter to NVARCHAR2 form so that the data is stored as unicode
orastmt.setFormOfUse(1,OraclePreparedStatement.FORM_NCHAR);
orastmt.setString(1,"便");
orastmt.executeUpdate();
orastmt.close();
在.net中也是如此才能避免这个问题,当然 "NLS_CHARACTERSET" 不被设为 "US7ASCII" 而是GBK什么的,在中文环境的,varhcar2也是可以存储中文,关于这一点还没有机会验证
分享到:
相关推荐
Oracle数据库中文乱码问题解决方案 Oracle数据库中文乱码...Oracle数据库中文乱码问题的解决方案需要同时修改数据库服务器端和客户端的字符编码设置。通过正确的设置,可以确保中文字符在Oracle数据库中的正确显示。
"Oracle数据库字符集问题解析" Oracle 数据库字符集问题解析是 Oracle 数据库管理系统中一个非常重要的问题。字符集是创建数据库时设定的,在创建后通常不能更改。因此,字符集的设定是个非常关键的问 题,如果...
Oracle 数据库多语言入库问题的解决方案是针对企业在国际化进程中遇到的多国语言信息存储难题,尤其是在使用Oracle数据库时,由于字符集的不兼容性导致非中文语言数据入库时出现乱码。Oracle数据库作为全球广泛使用...
《ORACLE数据库命名编码规范详解》 一、编写目的与适用范围 ORACLE数据库命名编码规范的制定,旨在实现数据库命名及编码风格的标准化,从而提升数据库的可读性、可理解和可继承性,减少后期维护成本。此规范特别...
### 使用Java连接Oracle数据库 #### 一、简介与准备工作 在进行Java程序开发时,经常需要与数据库进行交互。Oracle数据库作为业界广泛使用的数据库之一,掌握如何使用Java连接Oracle数据库是一项重要的技能。本文...
本文介绍了字符集不同的Oracle数据库间交换数据的几种解决方法,成功地解决了医院HIS数据库与医保数据库数据交换的问题。本文首先介绍了Oracle数据库在医院信息系统中的应用现状,然后讨论了字符集不同的Oracle...
### Oracle数据库US7ASCII字符集乱码问题解析 在日常的软件开发与维护工作中,我们时常会遇到数据库字符集导致的数据显示错误问题。本文将详细探讨Oracle数据库中使用US7ASCII字符集时出现的乱码问题及其解决方案。...
创建数据库时,选择合适的名称和服务标识符(SID),并设置字符集为UTF-8,这些操作对防止编码问题至关重要。安装成功后,系统默认创建了两个重要的管理员用户:SYS和SYSTEM,它们负责数据库的高级管理和日常管理...
在开发过程中,有时我们需要在Visual Studio 2008(VS2008)这样的.NET环境中与Oracle数据库进行交互。本文将详细介绍如何使用C#语言和OracleConnection类来实现这一目标,以及涉及的相关知识点。 首先,为了在VS...
根据给定文件的信息,我们可以详细地探讨Oracle数据库与MySQL数据库的连接信息,包括它们的驱动程序、连接字符串等关键组成部分。 ### Oracle数据库连接信息 #### 驱动程序 Oracle数据库连接通常会用到`oracle....
在本场景中,我们将探讨如何使用XML配置文件来连接Oracle数据库。 Oracle数据库是全球领先的数据库管理系统之一,尤其在企业级应用中广泛应用。它提供了丰富的功能和高级特性,如事务处理、数据仓库、分布式数据库...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储、管理和处理中扮演着核心角色。本文将深入探讨在Oracle数据库操作中涉及的一些关键知识点,包括记录集的显示、时间的SQL转换、汉字的...
Oracle数据库字符集是指用于表示数据库中所有字符数据的编码方式。它定义了如何将字符映射到二进制数据,从而确保数据在存储和处理过程中的正确性和一致性。Oracle数据库支持多种字符集,包括单字节字符集(如ASCII...
3. **应用程序编码问题**:部分应用程序在处理字符串时,如果没有正确地指定字符集,也可能导致乱码。 4. **数据库初始化参数设置不当**:例如`NLS_LANG`等参数设置不正确,会导致数据导入导出时出现乱码。 #### 三...
Oracle数据库大作业.pdf 本资源摘要信息是关于Oracle数据库的大作业,主要介绍了图书管理系统的设计和实现。该系统包括登录模块、图书管理模块、副本信息模块、用户管理模块等几个主要部分。系统使用Oracle数据库...
它支持Unicode编码,使得Oracle数据库能够正确地存储和检索各种语言的数据。 4. **xdb6.jar**: 这个库文件主要用于XML相关的操作,特别是当Oracle数据库作为XML数据存储时。它包含了Oracle XML Developer Kit (XDK)...
Oracle数据库作为全球广泛使用的数据库管理系统之一,其备份策略和实施方式也是IT管理员关注的重点。本篇文章将详细介绍如何通过Java编程语言在Windows和Linux操作系统上实现对Oracle数据库的备份。 首先,理解...
然而,在导入过程中可能会出现编码问题,因为 Oracle 使用 UTF-8 编码,而 Sql Server 不支持 UTF-8,所以无法导入。解决办法是:先从 Oracle 中把数据复制出来到 Excel,然后从 Excel 中粘贴到 Sql Server 中。 ...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储、管理和分析中扮演着核心角色。本课程“Oracle数据库应用与开发”旨在帮助学生深入理解和掌握Oracle数据库的相关知识,包括其基本概念、...