【问题标题】:Special characters (subscripts) not shown proprely特殊字符(下标)未正确显示
【发布时间】:2015-04-16 15:19:39
【问题描述】:

我想将一些化学数据放入表格的列中。但在现有表中,下标显示为普通字符。其中一些显示为问号。我该怎么做才能解决它?

当我输入此代码时

 SELECT N'H' + NCHAR(0x2082) + N'O'

正确显示“H2O”

当我把它放到现有表中时

 INSERT INTO tab (id, label)
 VALUES('100', N'H' + NCHAR(0x2082) + N'O')

“H2O”显示不正确

【问题讨论】:

  • 您的label 列是什么数据类型??
  • 你的问题是正确存储和显示unicode字符。

标签: sql-server subscript


【解决方案1】:

您需要在表中使用NVARCHAR / NCHAR 列而不是VARCHAR / CHAR 来存储Unicode 字符。

在下面的示例中,@table1 使用 NVARCHAR 数据类型正确存储公式,而 @table2 将相同的值存储在 VARCHAR 列中

DECLARE @table1 TABLE
(
    ID int,
    formula NVARCHAR(5)
)
DECLARE @table2 TABLE
(
    ID int,
    formula VARCHAR(5)
)

insert into @table1
SELECT '100', N'H' + NCHAR(0x2082) + N'O'

insert into @table2
SELECT '100', N'H' + NCHAR(0x2082) + N'O'

SELECT * FROM @table1;
SELECT * FROM @table2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多