用plsql写webservice,或许会出现中文乱码的问题。

原因:

数据库编码是ZHS16GBK,HTTP报文编码:UTF-8。UTL_HTTP包的WRITE_TEXT过程会把字符转换成数据库编码。

措施:

数据使用raw代替varcahr2,用blob代替clob。

(1)发送报文时:

VV_REQ_TEXT:=CONVERT(VV_REQ_TEXT,'UTF8','ZHS16GBK');
VV_REQ_RAW:=UTL_RAW.CAST_TO_RAW(VV_REQ_TEXT);
--UTL_HTTP.WRITE_TEXT(HTTP_REQ, VV_REQ_TEXT); --改成WRITE_RAW
UTL_HTTP.WRITE_RAW(HTTP_REQ, VV_REQ_RAW);

(2)读取时也一样,READ_TEXT改成READ_RAW,保存备份表时由clob类型改成blob类型

用varchar2时,'||'操作符会默认再转一次编码,会丢字节,即:

CONVERT(VV_REQ_TEXT,'UTF8','ZHS16GBK') || '<A>' 会丢失字节,故应先拼串再转换。write_text也会自动根据数据库编码再编码一次,也会因此丢字节。

转载于:https://blog.51cto.com/baser/1334991

Oracle HTTP 乱码相关推荐

  1. php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...

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

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

  3. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PA ...

  4. C#连接Oracle中文乱码问题解决方法

    C#连接Oracle中文乱码问题解决方法 参考文章: (1)C#连接Oracle中文乱码问题解决方法 (2)https://www.cnblogs.com/ycdx2001/p/3246139.htm ...

  5. Linux oracle中文乱码的问题解决

    Linux oracle中文乱码的问题解决 参考文章: (1)Linux oracle中文乱码的问题解决 (2)https://www.cnblogs.com/leolzi/p/9796316.htm ...

  6. linux oracle查询乱码问题,linux中oracle中文乱码解决方法

    乱码问题的根源是字符集的修改,下面我们来看一下linux中oracle中文乱码解决方法. 查看客户端的语言编码设置: 配置文件中的配置: cat ~/.bash_profile 注意修改配置信息:ex ...

  7. linux下的oracle中文乱码,Linux环境解决Oracle 中文乱码

    linux下Oracle显示中文乱码 1.Oracle数据库出现乱码的原因: 操作系统与服务器一致,但客户端与服务器字符集不一致 客户端与服务器一致,但操作系统与服务器不一致 2.解决办法: 设置相关 ...

  8. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法_PHP

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PA ...

  9. 解决Oracle中文乱码问题

    解决Oracle中文乱码问题(一) 1. 先排除系统导致的(我的就是这个问题折腾了一天) 详情:Oracle安装描述是英文 排查当前电脑的区域格式,查看方法"设置-区域-区域格式" ...

  10. oracle 乱码字符 测试,oracle 字符集乱码本质验证

    oracle 字符集乱码本质验证 发表于:2014-03-27来源:Csdn作者:蘑菇丁点击数: 之前一直困惑为什么数据库字符集和客户端字符集是一致的但是当数据库插入到表里却成了乱码,今天在群里看见一 ...

最新文章

  1. GridView 行颜色变化
  2. window.onload和jquery中$(function(){ })的区别
  3. oracle degree 造成阻塞_数据库锁/阻塞分析的一种常用方法
  4. Python编程基础:第三十一节 文件读取Read a File
  5. 微信公众号开发之服务器接入指南之Java版本
  6. 密封槽设计标准_哈尔滨轴承 | 超全面机械密封选型
  7. SpringBoot添加拦截器
  8. 【源码】VB6聊天机器人
  9. 利用VBB仿真——实现《天空之城》播放
  10. android日历的使用技巧,android日历控件的使用
  11. MD5 加密算法详解
  12. 公主救骑士---地下城游戏_leetcode
  13. Eclipse:Build not configured correctly问题
  14. java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)
  15. 眼睛中的密码-虹膜识别
  16. DQ坐标轴锁相环(pll)
  17. 科技“蝶变”,两轮电动车下一个五年的“新动力”
  18. [Js/Jquery]天气接口简单使用
  19. 十二步解N-S方程之第四步
  20. daimadaima

热门文章

  1. C++安全方向(三)3.4 使用哈希列表验证文件的完整性
  2. mac下安装编译ffmepg方法
  3. signature=3e4864de0d5dd0316b95f8329f488c7d,一种农机车桥轮毂油封
  4. java c# 线程,DART隔离和线程(Java,C#)之间的区别
  5. TensorFlow tf.keras.layers.conv2D
  6. python 脚本传参
  7. Pandas DataFrame 去重
  8. requests cookie
  9. SQL数据表字段类型与属性总结(DDL)
  10. 问题 | golang开发之go.mod的使用方法