干脆直接将编码那字段直接换成nvarcha或者nchar类型的就可以了
1、先把数据库数据倒出来(导成.txt格式的),用软件转成unicode格式。
2、把数据库转成unicode格式。
3、把数据倒回。
说明:为了安全起见,在 *** 作过程中一定要注意备份 *** 作。
SqlServer
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
SQL Server 关系数据库简介:
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。
GO/*
=======================================
功能描述: 将UniCode字符串进行解码
执行范例:select [dbo].[Fun_UniDecode]('adsfdf"\u4ea7\u51fa\u8bc4\u4ef7\uas1233')
=======================================
*/
ALTER FUNCTION [dbo].[Fun_UniDecode]
(
@String VARCHAR(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
--验证参数
IF @String IS NULL RETURN NULL
IF @String = '' RETURN ''
IF @String NOT LIKE '%\u%' RETURN @String
--定义变量保存返回结果
DECLARE @RtnString VARCHAR(MAX) = ''
--拆分行数据
WHILE @String <>''
BEGIN
DECLARE @char CHAR(2) = LEFT(@String, 2)
IF (@char = '\u' AND LEN(@String) >= 6)
BEGIN
SET @String = STUFF(@String, 1, 2, '')
DECLARE @hexint INT = [dbo].[Fun_StrHexToInt](LEFT(@String, 4))
IF (@hexint >= 0)
BEGIN
SET @RtnString = @RtnString + NCHAR(@hexint)
SET @String = STUFF(@String, 1, 4, '')
CONTINUE
END
SET @RtnString = @RtnString + '\u'
CONTINUE
END
ELSE
BEGIN
SET @RtnString = @RtnString + LEFT(@String, 1)
SET @String = STUFF(@String, 1, 1, '')
END
END
RETURN @RtnString
END
GO
create function [dbo].[Fun_StrHexToInt](@h varchar(8))
returns bigint
begin
declare @r bigint
set @r=0
declare @i bigint
set @i=1
while @i<=len(@h)
begin
set @r=@r+
convert(int,
(
case
when substring(@h,@i,1)<='9' then substring(@h,@i,1)
when substring(@h,@i,1)<='A' then '10'
when substring(@h,@i,1)<='B' then '11'
when substring(@h,@i,1)<='C' then '12'
when substring(@h,@i,1)<='D' then '13'
when substring(@h,@i,1)<='E' then '14'
when substring(@h,@i,1)<='F' then '15'
end
))
*power(16,len(@h)-@i)
set @i=@i+1
end
return @r
end
--test
select [dbo].[Fun_UniDecode]('adsfdf"\u4ea7\u51fa\u8bc4\u4ef7\uas1233')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)