首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的Oracle数据库中检查商标(™)字符的设置是否正确?

如何在我的Oracle数据库中检查商标(™)字符的设置是否正确?
EN

Stack Overflow用户
提问于 2011-09-07 22:31:54
回答 3查看 22.5K关注 0票数 3

如何在我的Oracle数据库中检查商标(™)字符的设置是否正确?

我预计它将使用UTF-8编码存储。

我有一个存储在Salesforce.com字段中的值,该字段与GUI类似(注意商标字符):

代码语言:javascript
运行
复制
Chuck Norris's Roundhouse Kick™

我使用Informatica将其复制到Oracle数据库中。我的数据库被设置为使用AL32UTF8编码。

它是如何在SQL Developer中出现的

当我使用查询我的表时,商标符号显示为一个矩形(黑色边框,白色填充)。

它如何在HTML中出现

当我使用UTF-8编码将它从SQL Developer导出到HTML文档并以Chrome打开它时,商标符号根本不会出现。当我在IE中打开它时,它再次显示为一个矩形。在火狐中,它是一个矩形,上半部分是00,下半部分是99。所有三个浏览器都使用UTF-8解释HTML文档。

它如何出现在文本编辑器中

在记事本和Notepad++中打开相同的HTML,商标符号显示为矩形。如果我为Notepad++使用十六进制查看器插件,我会看到字节编码是C2 99。那似乎是UTF-8中商标符号的正确编码

当我在MS中打开文档时,商标字符看起来如下:™

当我以编程方式获得值时

使用Python,当我从数据库获得值时,商标字符被替换为'\xbf‘-- 倒问号,但据我所知,该字符甚至没有正确编码,因为它至少缺少一个前导字节(取决于特定的编码)。

代码语言:javascript
运行
复制
>>> import cx_Oracle
>>> con = cx_Oracle.connect('username', 'password', 'db')
>>> cur = con.cursor()
>>> cur.execute('select * from trademark')
<__builtin__.OracleCursor on <cx_Oracle.Connection to username@db>>
>>> records = cur.fetchall()
>>> records[0][0]
"Chuck Norris's Roundhouse Kick\xbf"

理想情况下,我希望能够使用上述所有方法验证存储在Oracle数据库中的数据。我只想找个人来验证一下,我在十六进制浏览器上看到的东西已经够“测试”了;)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-07 22:51:56

您发布的字符文字标记( U+0099 )不是U+2122 (控制字符),而是U+2122(商标符号)。

Unicode规范定义 U+0099如下所示:

代码语言:javascript
运行
复制
0099;<control>;Cc;0;BN;;;;;N;;;;;

因此,它甚至没有一个名字,我也没有去深入的规格,以了解这个字符是为了什么。

在Windows中解码U+0099确实会产生商标字形。我想这是个窃听器。

UTF-8中商标符号(U+2122)的正确字节序列是E2 84 A2.

票数 6
EN

Stack Overflow用户

发布于 2015-08-27 16:16:24

只是为了将来的任何参考,因为作者没有费心地发布补丁。这确实是一个信息问题,需要的是:

  1. 在Informatica框中更改odbc.ini中的连接属性,在需要UTF8的连接中添加"IANAAppCodePage=106“。
  2. 为连接更改Informatica本身中的连接属性,并在"Connection Manager -> Connections -> Relational -> -> Edit“中添加"Codepage=Utf-8”
票数 2
EN

Stack Overflow用户

发布于 2011-09-07 22:44:11

如果要在html文档中保存此字符串以输出,请使用:&trade; (商标符号的html实体)。

如果将此字符串用于非html目的,则在运行时对该字符串进行解码,请使用:

代码语言:javascript
运行
复制
import HTMLParser
h = HTMLParser.HTMLParser()
s = h.unescape('&trade;')

见:entities.asp http://fredericiana.com/2010/10/08/decoding-html-entities-to-text-in-python/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7341274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档