关于简体转繁体的数据库问题

tonyu 2009-04-14 02:25:00
数据库是简体建的,由于有些表内容是简体看不到,所以我把数据表的内容导出到文本,然后用转换器转成繁体然后再导入英文的SQL2K(连数据库的默认语言我也改了),但导入后还是乱码,请问如何解决呢?
...全文
188 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaJiaBing 2009-04-14
  • 打赏
  • 举报
回复

字符型的就要用:字符类型如nvarchar,varchar
sdhdy 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 tonyu 的帖子:]
数据库是简体建的,由于有些表内容是简体看不到,所以我把数据表的内容导出到文本,然后用转换器转成繁体然后再导入英文的SQL2K(连数据库的默认语言我也改了),但导入后还是乱码,请问如何解决呢?

[/Quote]
你的数据库有些表是简体看不到,这是因为这些字段你应该用NCHAR或NVARCHAR类型,你没用,所以会出现乱码。
你用转换器转换后,你要导入的目的数据库相应字段应该也用NCHAR或NVARCHAR类型,这样匹配起来,才不会出现乱码问题。
  • 打赏
  • 举报
回复
帮顶
  • 打赏
  • 举报
回复
把该列的数据类型改为nvarchar。

/*--简繁转换函数

利用编码对照表,实现 简体-->繁体,繁体-->简体 的转换
注意,转换函数使用的是unicode编码

--邹建 2004.07--*/

/*--调用示例

--转换为繁体
select dbo.f_GB2BIG('我错了',1)

--转换为简体
select dbo.f_GB2BIG('我是中國人',0)
--*/
create function f_GB2BIG(
@str nvarchar(4000), --要转换的字符串
@toBIG bit --转换标志,为1,表示 GB-->BIG,否则是 BIG-->GB
)returns nvarchar(4000)
as
begin
if @toBIG=1
select @str=replace(@str,gb,big)
from codetable
where charindex(gb,@str)>0
else
select @str=replace(@str,big,gb)
from codetable
where charindex(big,@str)>0
return(@str)
end
go
you_tube 2009-04-14
  • 打赏
  • 举报
回复
没试过,帮顶
tonyu 2009-04-14
  • 打赏
  • 举报
回复
楼上的兄弟有何见解?
ai2757 2009-04-14
  • 打赏
  • 举报
回复
换器转换成big5后再导入数据库

我还从没试过。
tonyu 2009-04-14
  • 打赏
  • 举报
回复
自己顶一下
tonyu 2009-04-14
  • 打赏
  • 举报
回复
我是想把简体内容通过转换器转换成big5后再导入数据库啊
moonshineidolon 2009-04-14
  • 打赏
  • 举报
回复
数据库选择的语言集
表的语言集
看一下

在看一下自段类型
存放unicode编码的要是有nvarvhar类型
htl258_Tony 2009-04-14
  • 打赏
  • 举报
回复
字段类型用nchar,nvarchar,ntext,插入的时间前面加个大写的N
csdyyr 2009-04-14
  • 打赏
  • 举报
回复
用nchar,nvarchar,ntext 类型的字段。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧