【问题标题】:Insert superscript letters into VARCHAR2 column specifically trademark symbol将上标字母插入到 VARCHAR2 列中,特别是商标符号
【发布时间】:2019-07-29 17:15:45
【问题描述】:

我正在尝试在 Oracle SQL 开发人员的 VARCHAR2 列中插入上标符号、商标。我不想使用 NVARCHAR,它有效。

我已经尝试使用 NVARCHAR 作为类型并且它可以工作,但我只能使用 VARCHAR2。

CREATE TABLE TEST1 
   (    "DESCRIPTION_EN" VARCHAR2(500 CHAR)
   );

insert into test1 (  DESCRIPTION_EN) values ('Hello World ' || unistr('\2122') );

SELECT * FROM test1;

作为上标的商标符号是我正在寻找的结果 (™),但我看到的是倒置的问号。

【问题讨论】:

  • 运行select value from nls_database_parameters where parameter='NLS_CHARACTERSET';会得到什么?
  • WE8ISO8859P15,编码为CP1252

标签: sql oracle oracle11g oracle-sqldeveloper


【解决方案1】:

你不能。

WE8ISO8859P15ISO-8859-15 的 Oracle 标识符。没有 ™ 符号的编码(又名 U+2122 'TRADE MARK SIGN')。

这正是NVARCHAR 来解决的问题 ;-)


有趣的是,您提到 Windows-1252 并且该编码支持该符号,但这不是您的 数据库 编码。

【讨论】:

  • 您可以使用我链接的代码页布局表中显示的字符。对于其他任何事情,都有 Unicode。 (我知道 TM 符号,但我从未听说过您建议的 T 或 M 符号......)
  • 如果您不想使用 NVARCHAR2(为什么不呢?),那么将您的数据库字符集转换为 UTF8 或您需要的字符集
猜你喜欢
  • 2013-10-27
  • 1970-01-01
  • 2011-06-06
  • 2012-07-15
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 2011-09-30
  • 1970-01-01
相关资源
最近更新 更多