当前位置:首页 » 编程语言 » sqlserver繁体

sqlserver繁体

发布时间: 2022-05-17 23:35:24

① 经典sqlserver乱码问题

亲,这个是字符编码问题,数据库默认是GBK或者GB2312国标,你输入的时候,可能是UTF-8,两者一致才不会出现乱码。

② 用sql server 2000数据库,不支持中文怎么办

不支持没有关系的,如果通过程序存入的文字,直接在SQL中打开看是乱码的,但是当你在页面中输出,还是会显示中文的,没多大影响。如果你用的是JSP,就要考虑一下中文问题了。

如果出现这样的情况,建议不要使用直接在SQL输入文字的方法。

③ 在繁体系统下,代码写入SQLSERVER的繁体汉字字符有些会变成乱码""。大家帮忙给看下。(见补充说明)

方法一:到游侠下载一个名为w2kxpcjk2的东西
用法打开w2kxpcjk2在浏览里找你要汉化的东西进入确定后点化繁为简再用一下金山快译看看好了吗?
根据你的问题还有一个方法了,不过挺麻烦的:
1.进入控制面版在区域语言和语言选项里找到区域选项,如果你的机器已经是中文了那么就用用台文的(就是台湾)若是台就用中.应用确定而后就要重起了起好有些东西就是繁体的了但进入游戏是中文的就不乱码了.
2.如果还是乱码可以到高级选项里选择语言找到相应的语言.
我这样说可以接受吗?
如果还是不行可以到网站下载区域设置软件.

④ 繁体版的SQLSERVER数据库导出数据到来乱码

你的office是不是简体的,是简体的换个繁体的.
或者用alt+a选中所有单元格,然后再换个繁体字体

⑤ 在sqlserver中有没有函数可以把繁体转换成简体的!

住前台转换吧,SQL Server可没此么牛地功能
用外部程序软件代码实现写出来内码转换功能,住SQL Server 2000里封装成扩展存储过程。

自己做1个程序软件代码,可以随意将需要转地表,字段列出来,循环每个字段地值,将它们从繁体转换到简体。俺想此样地程序软件代码对楼主来说应该没什么问题和疑问吧。

提供几个函数function供楼主参考:
{内码转换}
function Big5ToGB(BIG5Str : String): AnsiString;
{进行big5转GB内码}
var
Len: Integer;
pBIG5Char: PChar;
pGBCHSChar: PChar;
pGBCHTChar: PChar;
pUniCodeChar: PWideChar;
begin
//String -> PChar
pBIG5Char := PChar(BIG5Str);
Len := MultiByteToWideChar(950,0,pBIG5Char,-1,nil,0);
GetMem(pUniCodeChar,Len*2);
ZeroMemory(pUniCodeChar,Len*2);
//Big5 -> UniCode
MultiByteToWideChar(950,0,pBIG5Char,-1,pUniCodeChar,Len);
Len := WideCharToMultiByte(936,0,pUniCodeChar,-1,nil,0,nil,nil);
GetMem(pGBCHTChar,Len*2);
GetMem(pGBCHSChar,Len*2);
ZeroMemory(pGBCHTChar,Len*2);
ZeroMemory(pGBCHSChar,Len*2);
//UniCode->GB CHT
WideCharToMultiByte(936,0,pUniCodeChar,-1,pGBCHTChar,Len,nil,nil);
//GB CHT -> GB CHS
LCMapString($804,LCMAP_SIMPLIFIED_CHINESE,pGBCHTChar,-1,pGBCHSChar,Len);
Result := String(pGBCHSChar);
FreeMem(pGBCHTChar);
FreeMem(pGBCHSChar);
FreeMem(pUniCodeChar);
end;

function GBToBig5(GBStr : String): AnsiString;
{进行GB转BIG5内码}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
pUniCodeChar: PWideChar;
pBIG5Char: PChar;
begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936,0,pGBCHSChar,-1,nil,0);
GetMem(pGBCHTChar,Len*2+1);
ZeroMemory(pGBCHTChar,Len*2+1);
//GB CHS -> GB CHT
LCMapString($804,LCMAP_TRADITIONAL_CHINESE,pGBCHSChar,-1,pGBCHTChar,Len*2);
GetMem(pUniCodeChar,Len*2);
ZeroMemory(pUniCodeChar,Len*2);
//GB CHT -> UniCode
MultiByteToWideChar(936,0,pGBCHTChar,-1,pUniCodeChar,Len*2);
Len := WideCharToMultiByte(950,0,pUniCodeChar,-1,nil,0,nil,nil);
GetMem(pBIG5Char,Len);
ZeroMemory(pBIG5Char,Len);
//UniCode -> Big5
WideCharToMultiByte(950,0,pUniCodeChar,-1,pBIG5Char,Len,nil,nil);
Result := String(pBIG5Char);
FreeMem(pBIG5Char);
FreeMem(pGBCHTChar);
FreeMem(pUniCodeChar);
end;

function GBKChtToChs(GBStr : String): AnsiString;
{进行GBK繁体转简体}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHTChar := PChar(GBStr);
Len := MultiByteToWideChar(936,0,pGBCHTChar,-1,nil,0);
GetMem(pGBCHSChar,Len*2+1);
ZeroMemory(pGBCHSChar,Len*2+1);
//GB CHS -> GB CHT
LCMapString($804,LCMAP_SIMPLIFIED_CHINESE,pGBCHTChar,-1,pGBCHSChar,Len*2);
Result := String(pGBChsChar);
//FreeMem(pGBCHTChar);
FreeMem(pGBCHSChar);
end;

function GBKChsToCht(GBStr : String): AnsiString;
{进行GBK简体转繁体}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936,0,pGBCHSChar,-1,nil,0);
GetMem(pGBCHTChar,Len*2+1);
ZeroMemory(pGBCHTChar,Len*2+1);
//GB CHS -> GB CHT
LCMapString($804,LCMAP_TRADITIONAL_CHINESE,pGBCHSChar,-1,pGBCHTChar,Len*2);
Result := String(pGBCHTChar);
FreeMem(pGBCHTChar);
//FreeMem(pGBCHSChar);
end;

最后,我虽然也学了,可是没有写这个的牛,有必要声明,我是倒过来的哦!

⑥ 如何把sqlserver management studio从繁体设置成简体啊

重新装个简体中文版的sqlserver management studio,没有多语言设置

⑦ 一个关于Sqlserver2008 简繁体乱码问题

insert into table
select N'abcd'
在你的写入语句中变量的前面加上N就行了。类似于上面的sql语句

⑧ 怎样使SQL Server 同时支持简体和繁体

简体中文的排序规则名称是:Chinese_PRC_CI_AS,
繁体中文的排序规则名称则是:Chinese_Taiwan_Stroke_CI_AS
更改数据库定序:
ALTER
DATABASE
DatabaseName
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATE
ALTER
DATABASE
DatabaseName
COLLATE
Chinese_Taiwan_Stroke_CI_AS
ALTER
DATABASE
DatabaseName
SET
MULTI_USER
WITH
ROLLBACK
IMMEDIATE
修改资料库定序为
Chinese_PRC_CI_AS
ALTER
DATABASE
DatabaseName
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATE;
ALTER
DATABASE
DatabaseName
COLLATE
Chinese_PRC_CI_AS;
ALTER
DATABASE
DatabaseName
SET
MULTI_USER;
--
修改资料表定序为
Chinese_PRC_CI_AS
ALTER
TABLE
tableName
ALTER
COLUMN
colName
nvchar(length)
COLLATE
Chinese_PRC_CI_AS;
注意,修改资料库的定序设定,并不会变更该资料库内既有物件的定序设定.

⑨ 在sql server 中有什么办法可以将表内容批量由繁体转换成简体

这个虽然没有使用过,看到你的问题后 我帮你找点资料 希望能帮助你1!
大家在使用SQL的数据库过程中,会有简体中文和繁体中文两种版本。本文介绍了如何在SQL Server数据库中混合使用简繁体数据。

比如在这个专案使用的SQLServer是繁体中文版的,但是需要使用到另一个使用简体中文版SQLServer专案的数据,我按照通常的做法把简体中文版SQL Server中的一个数据表导入到现在使用的繁体中文版SQLServer中,结构和数据都导入成功了。我一开始并没有意识到这样做会有什么问题。接

下来我开始调试SQL语句,其实是一个很简单的两表关联数据选择大致如下:

select table1.*,table2.*

from table1

inner join table2 on table2.FK = table1.PK

照理说这么简单的语句没道理会出什么问题,不过在查询分析器里面始终提示如下的错误服务器: 消息 446,级别 16,状态 9,行 1无法解析 equal to 动作的定序冲突。

后来搜索了一下,然后又看了一下T-SQL的帮助,才知道原来是因为我将简体中文sql server中的数据表导入到繁体中文的数据表中的是后,连同原数据的排序方式一并导入,导致了简体数据表的排序方式依然是简体,所以无法进行比较,从而出错。解决的办法是指名排序方式,告诉查询分析器应该怎样排序即可。这里会需要用到一个关键字 COLLATE Coliate 在SQLServer联机丛书中是这样解释的:

COLLATE一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。

语法:

COLLATE < collation_name >

< collation_name > ::=

{ Windows_collation_name } | { SQL_collation_name }

参数

collation_name

是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的Windows_collation_name 或 SQL_collation_name。

Windows_collation_name 是Windows 排序规则的排序规则名称。请参见Windows排序规则名称。

SQL_collation_name 是 SQL 排序规则的排序规则名称。请参见 SQL 排序规则名称。

那么我们怎么可以知道当前的排序规则名称是什么呢,其实这个排序规则名称是我们在创建数据库(实例)的时候就可以进行选择的,不过通常情况下我们都会默认原来的设定,不会对其进行变更,所以如果是简体中文的SQLServer就会默认的使用简体中文的排序规则,而如果是繁体中文的SQL Server就会默认的使用繁体中文的排序规则。我们在察看数据库(实例)的属性时,常规页签的最下面一行就是当前的排序规则。在默认的情况下,简体中文的排序规则名称是:Chinese_PRC_CI_AS,而繁体中文的排序规则名称则是:Chinese_Taiwan_Stroke_CI_AS,所以我们如果在有简体繁体排序规则名称混用的时候,只要声明一下你当前要使用哪种排序规则进行比较就可以了,例如针对上面的那个SQL语句,下面两种方法都可以解决那个错误提示的问题

SELECT Table1.*,Table2.*

FROM Table1

INNER JOIN Table2 ON Table2.FK = Table1.PK COLLATE Chinese_PRC_CI_AS

SELECT Table1.*,Table2.*

FROM Table1

INNER JOIN Table2 ON Table2.FK = Table1.PK COLLATE Chinese_Taiwan_Stroke_CI_AS

说了半天如何解决排序规则冲突引起的问题,如果还有兴趣的话,下面把sql server联机丛书里面关于排序规则的概念贴出来给大家分享一下,省得大家再去找:

Microsoft sql server 2000 支持多种排序规则。排序规则对控制正确使用语言(如马其顿语或波兰语)或字母表(如西欧语言使用的拉丁字母表 Latin1_General)字符的规则进行编码。

每个 sql server 排序规则指定三个属性:

用于 Unicode 数据类型(nchar、nvarchar 和 ntext)的排序次序。排序次序定义字符的排序序列,以及在比较操作中对字符取值的方法。

用于非 Unicode 字符数据类型(char、varchar 和 text)的排序次序。

用于存储非 Unicode 字符数据的代码页。

说明不能指定与 Unicode 数据类型(nchar、nvarchar 和 ntext)对应的代码页。用于 Unicode 字符的双字节位模式由 Unicode 标准定义且不能更改。

可在任何级别上指定 sql server 2000 排序规则。安装 SQL Server 2000 实例时,可指定该实例的默认排序规则。每次创建数据库时,可指定用于该数据库的默认排序规则。如果未指定排序规则,数据库的默认排序规则即是实例的默认排序规则。无论何时定义字符列、变量或参数,都可指定这些对象的排序规则。如果未指定排序规则,将使用数据库的默认排序规则创建这些对象。

如果 sql server 实例的所有用户都使用同一种语言,则应选择支持该语言的排序规则。例如,若所有用户都讲法语,则选择法语排序规则。

如果 sql server 实例的用户使用多种语言,则应选择能对多语种需求提供最佳支持的排序规则。例如,如果用户一般都讲西欧语言,则选择 Latin1_General 排序规则。当支持使用多种语言的用户时,对所有字符数据都使用 Unicode 数据类型 nchar、nvarchar 和 ntext 最为重要。

Unicode 旨在消除非 Unicode char、varchar 和 text 数据类型的代码页转换困难。因为排序规则定义用于比较操作的排序次序和 Unicode 字符的排序,所以当用 Unicode 数据类型实现所有的列时,排序规则仍会产生不同。即使当使用 Unicode 数据类型存储字符数据时,也应选择支持大多数用户的排序规则,以防使用非 Unicode 数据类型实现列或变量。

sql server 排序规则定义数据库引擎存储和操作字符及Unicode 数据的方式。然而,当数据移入应用程序后,在应用程序中进行的字符排序和比较将由计算机上选定的 Windows 区域设置控制。应用程序使用的字符数据排序规则是由 Windows 区域设置控制的项目之一,区域设置还定义其它项目,如数字、时间、日期和货币格式。对于 Microsoft Windows NT 4.0、Microsoft Windows 98 和 Microsoft Windows 95,可使用控制面

板中的"区域设置"应用程序指定 Windows 区域设置。对于 Microsoft Windows 2000,可使用"控制面板"中的"区域选项"应用程序指定区域设置。

有关 Windows 区域设置的更多信息,请参见 Microsoft Web 站点 MSDN? 页中的 Developing International Software for Windows 95 and Windows NT 4.0。

多个排序规则可对非 Unicode 数据使用相同的代码页。例如,代码页 1251 定义西里尔语字符集。多个排序规则(如 Cyrillic_General、Ukrainian 和 Macedonian)都使用该代码页。虽然这些排序规则都使用相同的位集来表示非 Unicode 字符数据,但在处理字典定义时所应用的排序和比较规则略有不同,而字典定义确定语言或字母表中与排序规则相关的正确字符序列。

因为sql server 2000排序规则控制 Unicode 和非 Unicode 排序次序,所以不会遇到由为 Unicode 和非 Unicode 数据指定不同的排序规则而引起的问题。在 SQL Server 的早期版本中,对代码页号、字符排序次序和 Unicode 排序规则分别进行指定。SQL Server 的早期版本还支持每个代码页有不同数目的排序次序,并为某些代码页提供 Windows 区域设置中没有的排序次序。在 SQL Server 7.0 中,还可以指定为非 Unicode 数据选择的排序次序以外的其它 Unicode 排序次序。这会导致在使用与非 Unicode 数据相对的 Unicode 数据时,排序和比较操作返回不同的结果。

热点内容
大话2无限自动脚本 发布:2024-05-07 08:42:06 浏览:78
朋友圈视频压缩 发布:2024-05-07 08:33:01 浏览:871
MAC账户登录如何进入忘记密码 发布:2024-05-07 08:14:52 浏览:671
相机存储卡要求格式化 发布:2024-05-07 08:08:44 浏览:16
十一代思域哪个配置划算 发布:2024-05-07 07:59:12 浏览:352
鸿蒙系统和安卓系统哪个大 发布:2024-05-07 07:46:37 浏览:623
安卓平台用什么虚拟机 发布:2024-05-07 07:44:14 浏览:247
ta栅格算法 发布:2024-05-07 07:03:23 浏览:802
符号源码 发布:2024-05-07 06:26:09 浏览:707
玩hypixel服务器ip地址要什么版本 发布:2024-05-07 06:22:50 浏览:62