带下标的数据如何保存到SQL SERVER数据库中

SQL SERVER 2005 我有个字段想保存带下标的数据,如M2(后面的2是下标),数据类型是nvarchar(50),用nvarchar来保存带上标的数据是可以保存的(如mg/m²),求保存带下标的数据该如何保存?

以下是在CSDN中问题帖子的有用回复: 

有用的回复1:

  1、转成图片保存
  2、拆分成两个字段保存,一个一般的,一个下标

回复2:

 定义规则,过滤吧
 比如上标都 <pi>
 下标都 <sub>
 前台程序一般都能显示的,多一个判断而已

回复3:

  估计你那个平方符号本来就有这个现成的字符,所以能储存显示,不应该算上标
而别的字符你即使弄成上标也不能储存
不信你把a弄成上标试试
下标本来就没有这种现成的字符,所以不行

回复4:

  引用 22 楼 billpu 的回复:

看看SQL codeCREATE TABLE tb (col1 NVARCHAR(10))INSERT tb SELECT  N'mg/m²' UNION ALL SELECT '1₂'SELECT * FROM tb
SQL code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE tb (col1 NVARCHAR(10))
INSERT tb SELECT  N'mg/m²' UNION ALL 
SELECT N'1₂'
SELECT FROM tb
  
drop table tb
  
/*
col1       
---------- 
mg/m²
1₂
  
(所影响的行数为 2 行)
*/



还真能行,厉害,以前没用过这种下标的数据.

这个就是word里粘贴出来的呀 

to 楼主:首先这个下标是一个字,或者字符,我认为之所以网页里可以显示,而sqlserver不能显示的原因是网页比如csdn采用的编码集是(可变字节)utf-8,而sqlserver采用的是双字节(ucs-2),而这个下标是在ucs-2之外的(我估计在3字节到4字节当中),在utf-8之内的,所以sqlserver不能保存这个字.
不一定对,仅供参考 

CREATE TABLE tb (col1 NVARCHAR(10))
INSERT tb SELECT  N'mg/m²' UNION ALL
SELECT '1₂'
SELECT * FROM tb

页面来源:http://bbs.csdn.net/topics/350228345

原文地址:https://www.cnblogs.com/activities/p/3088658.html