针对汉字乱码

末尾乱码:末尾第二个字节的ASCII的值大于224 或 末尾第一个字节的ASCII的值大于224 去掉办法:case when length(colname)>1 and ascii(substr(colname,length(colname),1))>224 then 去掉最后一位

when length(colname)>2 and ascii(substr(colname,length(colname)-1,1))>224 then 去掉最后两位

colname end

开始乱码:第一个字节的ASCII的值大于128且小于224 , 且 第二个字节的ASCII值大于128 为前两位乱码 否则首位乱码 去掉办法:case when length(colname)>2 and ascii(substr(colname,1))>128 and and ascii(substr(colname,1))< 224 and and ascii(substr(colname,2,1)>128 then 去掉前两位 when length(colname)>1 and ascii(substr(colname,1))>128 and and ascii(substr(colname,1))< 224 then 去掉第一位 colname end

详见:

用 substr截取函数会产生乱码,用right或left会把乱码替换为空格

values (ascii(substr('硬拷贝',1,1)),ascii(substr('拷贝',1,1)),ascii(substr('贝',1,1)),ascii(left('硬拷贝',1))),

(ascii(substr('硬拷贝',2,1)),ascii(substr('拷贝',2,1)),ascii(substr('贝',2,1)),ascii(left('硬拷贝',1))),

(ascii(substr('硬拷贝',3,1)),ascii(substr('拷贝',3,1)),ascii(substr('贝',3,1)),ascii(left('硬拷贝',1)))

对于乱码无较好的办法,只能进行挨个字符判断

1)?对只有在末尾和开始才有的处理

末尾第二个字节的ASCII的值大于224 且 第一个字节的ASCII值大于128 为乱码 或 末尾第一个字节的ASCII的值大于224?待确定

开始第一个字节的ASCII的值大于128 或 第二个字节的ASCII值大于128 为乱码?待确定

2)?对在末尾和开始、中间都有的处理

UTF-8 字符的最大长度可以为 4 个字节。非补充字符的最大长度为 3 个字节,而补充字符的长度为 4 个字节。

使用 UTF-8 格式的每个 UTF-16 字符的字节数可根据表 1 来确定。

在以上每一项中,u、w、x、y 和 z 串都是字符的位表示法。例如,U+0080 变换为二进制中的 11000010 10000000,而代用字符对 U+D800 U+DC00 变为 二进制中的 11110000 10010000 10000000 10000000。

values 128+64+32

values 128+64+32 =224

values 14*16 =224

VALUES (X'C3B1C3B2C3B3')

VALUES chr(65),chr(224)

VALUES GRAPHIC('硬拷贝'),substr(GRAPHIC('硬拷贝'),1,1)

VALUES VARGRAPHIC('硬拷贝'),substr(VARGRAPHIC('硬拷贝'),1,1)

values VARGRAPHIC(substr('贝',1,1))--出错

UTF编码

UTF-8就是以8位为单元对UCS进行编码。从UCS-2到UTF-8的编码方式如下:

UCS-2编码(16进制) UTF-8 字节流(二进制)

0000 - 007F 0xxxxxxx

0080 - 07FF 110xxxxx 10xxxxxx

0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx

例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。

读者可以用记事本测试一下我们的编码是否正确。需要注意,UltraEdit在打开utf-8编码的文本文件时会自动转换为UTF-16,可能产生混淆。你可以在设置中关掉这个选项。更好的工具是Hex Workshop。

UTF-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码,UTF-16编码就等于UCS码对应的16位无符号整数。对于不小于0x10000的UCS码,定义了一个算法。不过由于实际使用的UCS2,或者UCS4的BMP必然小于0x10000,所以就目前而言,可以认为UTF-16和UCS-2基本相同。但UCS-2只是一个编码方案,UTF-16却要用于实际的传输,所以就不得不考虑字节序的问题。

linux db2乱码,DB2乱码(开始和结束,字符串中间没有好的办法)相关推荐

  1. linux下学习db2

    http://blog.csdn.net/sunrier/article/details/7835578 [quote] 本笔记接在上一篇 <<Linux下安装DB2数据库步骤>&g ...

  2. Linux下安装DB2数据库步骤及常用命令

    前言: 最近有些项目在Linux下使用的是IBM的DB2数据库,感觉没MySQL那样容易了解深入,可能是DB2数据库更倾向于商业化,没MySQL那样开源,相关DB2的资源网上没MySQL那样普及,至于 ...

  3. Linux下学习DB2命令的笔记

    本笔记接在上一篇 <<Linux下安装DB2 数据库步骤>>  http://blog.csdn.net/sunrier/article/details/7826233 ,学习 ...

  4. Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题

    Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题 参考文章: (1)Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码 ...

  5. 解决windows文件在linux系统中显示乱码的问题

    解决windows文件在linux系统中显示乱码的问题 参考文章: (1)解决windows文件在linux系统中显示乱码的问题 (2)https://www.cnblogs.com/liyanpin ...

  6. linux oracle em使用,案例:五步解决linux操作系统Oracle EM乱码的问题

    天萃荷净 用户生产环境Linux系统Oracle数据库配置OEM使用时出现乱码情况 如果想以中文显示,则需要修改一些配置文件. 包括三个目录: $ORACLE_HOME/jdk/jre/lib $OR ...

  7. oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...

  8. linux下安装DB2的详细步骤

    我也是才学习,在网上找了一个在linux下安装DB2 的步骤,共享给大家看看了. linux下安装DB2的详细步骤! 第一步:检查程序包及其版本 在软件包管理中查看下列软件包是否安装,如没有安装,先安 ...

  9. Kali Linux 2019.4用U盘安装以及解决Kali Linux 2019.4中文乱码问题

    一.利用Win32 Disk Imager 实现U盘刻录ISO 1.Kali Linux官网下载 2.Win32 Disk Imager官网下载地址 3.打开Win32 Disk Imager软件,添 ...

最新文章

  1. 常见浏览器User-Agent大全
  2. 构架、框架、设计模式之间的关系简述
  3. ReviewForJob——java虚拟机的垃圾回收策略(个人总结)
  4. C# 获取gzip网页解压处理
  5. 计算机安全事故由谁整改,信息安全检查整改方案 整改方案 .doc
  6. c#官方推荐md5通用加密类
  7. DataList分页,保存CheckBox控件状态
  8. 从源代码解释Android事件分发机制
  9. 比特飞-建站100天感悟
  10. Martin Odersky Scala编程公开课 第二周作业
  11. htaccess文件是什么
  12. 彻底告别加解密模块代码拷贝-JCE核心Cpiher详解
  13. python写的监视bt.ktxp.com的rss的小脚本 updated
  14. 使用加密解密技术和CA认证解决网络传输中的安全隐患
  15. 学计算机激励标语口号,关于学习的励志口号标语(精选160句)
  16. C# Winform 使用 PuppeteerSharp 进行网页截图、生成pdf等操作
  17. SOLIDWORKS 2022官方正版新功能介绍
  18. 波束形成算法学习笔记之一(Endfire,broadside)
  19. 笔记分享②:GPS经纬度坐标转为CGCS2000
  20. Python生成声音波形、模拟钢琴音色

热门文章

  1. 铝聚合物电池工作温度及低温电量差异的说明
  2. 使用Jest操作ElasticSearch 报错:No time zone indicator问题的解决方案
  3. 实战4节点Centos7.3 安装Kubernetes集群
  4. 第18条:接口优于抽象类
  5. u32、u16、u8 数据类型
  6. 百度富文本编辑器UEditor安装配置全过程
  7. Selenium WebDriver问题--Internet Explorer保护模式设置问题
  8. STL札记3-2(hashtable关联容器set、map)
  9. ProgressBar进度条颜色改变
  10. TensorFlow预训练模型在新图中权重部分加载