oracle中全角汉字被截断的乱码问题

问题描述

表a的spec字段长度为20,该字段存在全角汉字被截断的乱码问题。例如,导入时某个数据长度为21,最后一个汉字占第20和21字节,因此在导入数据库时,该汉字只保留了第一个字节,第二个字节被截断了,在oracle数据库中就显示为乱码。现在要用C#从数据库中读取该字段,然后由用户选择某一项,再用该字段的内容去匹配表b的spec字段(也有乱码)。问题是,现在我读取表a的spec字段后,C#自动把乱码转成了,再回去比对就不相等了。如果用like的话,可能又不止匹配上一项。例如,表a:“中国?”,表b:"中国?",?表示乱码C#读取表a数据后变成"中国",显然此时"中国"不等于"中国?"请问有什么解决方法吗?不考虑把数据库的乱码全部删去的办法。因为导入程序还会源源不断的产生乱码,而且导入程序我们无法更改。

解决方案

解决方案二:
数据库存储可以设定编码方式的,估计目前你的数据库设置的编码方式不支持gb2312
解决方案三:
数据库编码是AMERICAN_AMERICA.US7ASCII,这个就更不可能改了
解决方案四:
你这不是编码问题,你这是长度被截断问题啊,汗,这东西长度超出不会异常??还是你保存时用了参数化,自动截断长度了?要么你把varchar改成nvarchar,要么把字段长度加长

时间: 2024-09-16 07:18:29

oracle中全角汉字被截断的乱码问题的相关文章

快速修改Excel文档中全角半角字符

先将Excel中的数据复制到一个word文件中,然后单击"格式→更改大小写",在弹出的对话框中选择"半角",再单击"确定"按钮. 文档中全角半角字符-全角字符转半角字符">接着再把word文件中的数据复制到Excel,单击"编辑→选择性粘贴",在弹出的对话框中,选择"文本",单击"确定"按钮,原来全.半角混杂的数据就已经都变成了半角的.需要注意的是,在Excel中进行选择

在word中全角数字怎么替换成半角数字?

  在word中全角数字怎么替换成半角数字?有些人分不清全角和半角,但是如果你输入数字的话,两者之间明显不同,那在word中全角数字替换为半角数字,怎么弄呢?下面就为大家详细介绍一下,来看看吧! 步骤 打开word文档,输入一段数字串,这个是全角效果. 如何改为半角效果呢?在开始菜单中找到这个符号,点击找到更改大小写. 注意前提一定要选中数字串,然后出现大小写对话框,选中半角,确定. 最后数字样式发生了变化,不是那么松散了. word2003版是在格式中-点击更改大小写,然后在出现的对话框中选中

如何分别全角和半角以避免乱码_php基础

function ChgTitle($title) { $length = 46; if (strlen($title)>$length) { $temp = 0; for($i=0; $i<$length; $i++) if (ord($title[$i]) > 128) $temp++; if ($temp%2 == 0) $title = substr($title,0,$length)."..."; else $title = substr($title,0,

SQL Server中全角和半角字符的比较问题

server|比较|问题 /*------------------------------------------------------------------------------------ /*欢迎转载,请保留本声明信息 /*作者:翁   彦   enhydraboy@yahoo.com.cn /*------------------------------------------------------------------------------------ 这是一个在我实际一个

使用Python转换全角字符串为半角

关于全角转换为半角的问题,其实源自在公司的运营人员在输入法切换的时候选择了全角,结果导致程序有时候没有办法进行解析. 为了避免这样的问题再次出现,于是就有了将全角转换为半角的问题了. 在这里,会对以下内容进行描述: 什么是全角 如何将全角字符转换为半角 使用python实现上述转换操作 我们知道在编码中,存储在计算机中仅仅是1个数字,而编码其实充当的是1种转换的过程,如果将1个字符转换为1个数字而问题. 全角和半角 一般情况下,普通的英文字符只占用1个字节的空间,而1个字节有8位,因此可以存储2

一次性去除excel表中全半角空格的方法

  在excel工作表中,单元格内有大量的全角和半角空格,如果使用手工删除实在是太累,其实我们使用SUBSTITUTE函数就可以帮我们一次性的去除所有的全半角空格. 实例:去除表中全角或半角空格 工作表如下图所示: 在A列姓名列中学生的姓名在输入时,录入了大量的全角和半角空格,我们将操作定在G列中.然后在G2单元格输入公式:=SUBSTITUTE(SUBSTITUTE(A2,"","")," ",""),然后在整个G列复制公式

java 全角半角字符转换的方法实例_java

如果搞明白了Java中全角字符和半角字符之间的关系那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + "    "

java全角、半角字符的关系以及转换详解_java

如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + &qu

Oracle中如何判断一个字符串是否含有汉字(中文)

oracle中如何判断一个字符串是否含有汉字 1.1  BLOG文档结构图       1.2  前言部分   1.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ①全角字符的判断,或者是含有汉字的字符串的判断       本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 1.2.2  实验环境介绍   11.2.0.3  RHEL6.5       1.2.3  本文