问题描述
来源来源:
https://oracle-base.com/articles/misc/oracle-rest-data-services-ords-restful-web-services-handling-complex-json-payloads
我如何猜测提交数据的编码?
考虑一个web服务调用,就像这篇关于oracle-base.com的非常有用的文章系列中描述的那样
可以以不同的编码创建POST数据: utf8,iso8859-1,...
那些apex_json.get_varchar2调用在数据库的编码中返回一个varchar2
l_emp_tab(l_emp_tab.last)。ename := APEX_JSON.get_varchar2(p_path => '部门 [% d]。部门。员工 [% d]。员工名称',p0 => i,p1 => j);
现在我想知道我是否必须转换这些字符串才能将它们存储到数据库中。
它们可能包含在不同编码中不同表示的特殊字符 (变音符号)。
这是一个复杂的示例 “我如何猜测二进制数据的编码”。像记事本或unix文件可以做到这一点。
亲切的问候和提前感谢
汉斯
https://oracle-base.com/articles/misc/oracle-rest-data-services-ords-restful-web-services-handling-complex-json-payloads
我如何猜测提交数据的编码?
考虑一个web服务调用,就像这篇关于oracle-base.com的非常有用的文章系列中描述的那样
可以以不同的编码创建POST数据: utf8,iso8859-1,...
那些apex_json.get_varchar2调用在数据库的编码中返回一个varchar2
l_emp_tab(l_emp_tab.last)。ename := APEX_JSON.get_varchar2(p_path => '部门 [% d]。部门。员工 [% d]。员工名称',p0 => i,p1 => j);
现在我想知道我是否必须转换这些字符串才能将它们存储到数据库中。
它们可能包含在不同编码中不同表示的特殊字符 (变音符号)。
这是一个复杂的示例 “我如何猜测二进制数据的编码”。像记事本或unix文件可以做到这一点。
亲切的问候和提前感谢
汉斯
专家解答
这里有几件事在玩
1) 对于字符数据,字符集转换由数据库自动处理。如果您有数据 (在数据库中) characterset #1,并且在characterset #2中使用oracle客户端进行检索,那么我们将进行转换 * 如果可能 *。(显然,如果 #1中的数据无法映射到 #2,则会收到垃圾)。但是对我来说,我现在构建/做的任何事情,我都努力在UTF8中做到这一点,以满足最广泛的要求。但很明显,有时你是一时兴起的数据,正在传递给你从外部来源-但在这些情况下,它是合理的坚持,用于编码数据的字符集提供给你作为请求的元数据的一部分。
2) 对于二进制数据,只是... 二进制。“理解” 这些数据及其代表的责任落在你身上。如果可能的话,这可能涉及捕获 (例如) mime类型的数据,当它第一次加载时。或者利用数据签名之类的东西来尝试以与 “文件” 相同的方式对数据进行分类
https://en.wikipedia.org/wiki/List_of_file_signatures
1) 对于字符数据,字符集转换由数据库自动处理。如果您有数据 (在数据库中) characterset #1,并且在characterset #2中使用oracle客户端进行检索,那么我们将进行转换 * 如果可能 *。(显然,如果 #1中的数据无法映射到 #2,则会收到垃圾)。但是对我来说,我现在构建/做的任何事情,我都努力在UTF8中做到这一点,以满足最广泛的要求。但很明显,有时你是一时兴起的数据,正在传递给你从外部来源-但在这些情况下,它是合理的坚持,用于编码数据的字符集提供给你作为请求的元数据的一部分。
2) 对于二进制数据,只是... 二进制。“理解” 这些数据及其代表的责任落在你身上。如果可能的话,这可能涉及捕获 (例如) mime类型的数据,当它第一次加载时。或者利用数据签名之类的东西来尝试以与 “文件” 相同的方式对数据进行分类
https://en.wikipedia.org/wiki/List_of_file_signatures
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
605次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
604次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
499次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
483次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
465次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
441次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
438次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
430次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
372次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
362次阅读
2025-04-15 14:48:05