简体中文GBK和简体 UTF8到底是什么区别 |
您所在的位置:网站首页 › 简体中文的英文是什么 › 简体中文GBK和简体 UTF8到底是什么区别 |
gbk是中国大陆通用编码,utf—8是世界通用编码,一般是使用gbk的程序。 字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。 至于utf-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用utf-8节省空间。 gbk包含全部中文字符;utf-8则包含全世界所有国家需要用到的字符。 gbk是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准) utf-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。 比如,如果是UTF8编码,则在外国人的英文ie上也能显示中文,而无需他们下载ie的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。 UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大。 GBK和UTF-8都是系统的字符编码,GBK包含中日韩字符集合,他能完美支持简体中文和英文,但如果在IE没有安装简体中文支持的电脑上阅读GBK编码的网页,中文会变成乱码,例如英国人浏览您的网站,电脑全是火星文,UTF-8则包含了大部分文字的编码,可以表达更多的语言,使用UTF-8一个最大的好处就是其他地区的用户(美国、印度、台湾)无需安装简体中文支持,就能正常看您的文字,并且不会出现乱码,通常网络传输也是使用UTF-8编码。 UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛;而GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大。 为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便。 数据库中怎么将汉字gbk转utf MySQL中的表 数据原来是GBK 就是GBK的编码 变成 UTF8 的途径就是重新导出数据 在导入 并将 myini 中的 配置文件 改为: 两个default-character-set 依次设置为 default-character-set=UTF-8 default-character-set=GBK 方法1:卸载你现在的mysql,把你的mysql数据库重新安装一次,在下图选择utf-8 方法2:C:\Program Files\MySQL\MySQL Server 50--->这个是我的数据库的安装路径 里面有个myini这样的文件,用记事本或者其他能打开的工具打开,我用的是EditPlus打开的,找到里面的57行和81行这两处修改(或者你用Ctrl+F查找你的“GBK”),把GBK替换成utf8,注意是utf8,然后保存,前提是你要有管理员权限。然后重启你的mysql即可, 个人推荐你用第2种方法祝你成功,给力采纳哟! MySQL中的表 数据原来是GBK 就是GBK的编码 变成UTF8 的途径就是重新导出数据 在导入 并将 myini 中的配置文件改为: 两个default-character-set 依次设置为 default-character-set=UTF-8 default-character-set=GBK 选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。 在对象资源管理器窗口中展开服务器,然后选择数据库节点 右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。 执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作, 在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。 在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。 在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。 切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。 切换到文件组页,在这里可以添加或删除文件组。 完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。 具体: 1sp_helpsort SELECT SERVERPROPERTY ('Collation') 查看排序规则 应该字符集关 2更改服务器排序规则 更改 SQL Server 2005 实例默认排序规则 *** 作能比较复杂包括步骤: 确保具重新创建用户数据库及些数据库所象所需全部信息或脚本 使用工具(例容量复制)导所数据 删除所用户数据库 重新 setup 命令 SQLCOLLATION 属性指定新排序规则 master 数据库例: 复制代码 start /wait setupexe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI 关重新 master 数据库详细信息请参阅何重新 SQL Server 2005 Master 数据库 创建所数据库及些数据库所象 导入所数据 注意: 创建每新数据库指定默认排序规则更改 SQL Server 2005 实例默认排序规则 3设置更改数据库排序规则 创建新数据库使用列内容指定排序规则: CREATE DATABASE 语句 COLLATE 句 SQL Server Management Studio SQL 管理象 (SMO) DatabaseCollation 属性 未指定排序规则则使用服务器排序规则 使用 ALTER DATABASE 语句 COLLATE 句更改用户数据库创建任何新象排序规则使用语句能更改任何现用户定义表列排序规则使用 ALTER TABLE COLLATE 句更改些列排序规则 更改数据库排序规则需要更改列内容: 数据库默认排序规则新默认排序规则应用于数据库续创建所列、用户定义数据类型、变量参数根据数据库定义象解析 SQL 语句指定象标识符使用新默认排序规则 系统表任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改使用新排序规则 存储程用户定义函数所现 char、varchar、text、nchar、nvarchar 或 ntext 参数标量返值更改使用新排序规则 char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型基于些系统数据类型所用户定义数据类型更改使用新默认排序规则 SQL code : 1数据库字符集修改: alter database dbname collate Chinese_PRC_CI_AS 2 --1 数据库指定排序规则 CREATE DATABASE db COLLATE Chinese_PRC_CI_AS GO ALTER DATABASE db COLLATE Chinese_PRC_BIN GO /====================================/ --2 表列指定排序规则 CREATE TABLE tb( col1 varchar(10), col2 varchar(10) COLLATE Chinese_PRC_CI_AS) GO ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN GO ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN GO /====================================/ --3 字符变量参数应用排序规则 DECLARE @a varchar(10),@b varchar(10) SELECT @a='a',@b='A' --使用排序规则 Chinese_PRC_CI_AS SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' ELSE '@a @b' END --结:@a=@b --使用排序规则 Chinese_PRC_BIN SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b' ELSE '@a @b' END --结:@a @b 3 表 ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS --区写 ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS --区写 数据库 ALTER DATABASE database COLLATE Chinese_PRC_CS_AS --区写 ALTER DATABASE database COLLATE Chinese_PRC_CI_AS --区写 安装SQL选择区写 或安装完重建mastar选择区 C:/Program Files/Microsoft SQL Server/80/Tools/Binn/rebuildmexe 二sql server 80版本才70及其支持 alter database 数据库 COLLATE Chinese_PRC_CS_AS 修改排序规则改写敏排序规则 修改表用alter table语句 修改库默认排序规则用alter datebase语句 修改整服务器默认排序规则用Rebuildmexe重建master库 --指定排序规则 --示例 select replace('AbacB' collate Chinese_PRC_CS_AS_WS,'B','test') --要求表支持,则建表指定排序规则,replace用写排序规则 --示例 create table tb(a varchar(20) collate Chinese_PRC_CS_AS_WS) insert tb values('Abac') select replace(a,'a','test') from tb drop table tb 指定排序规则即 Windows 排序规则名称 COLLATE 句指定 Windows 排序规则名称Windows 排序规则名称由排序规则指示器比较风格构 语 < Windows_collation_name > :: = CollationDesignator_ < ComparisonStyle > ::= CaseSensitivity_AccentSensitivity [_KanatypeSensitive [_WidthSensitive ] ] | _BIN 参数 CollationDesignator 指定 Windows 排序规则使用基本排序规则基本排序规则包括: 指定按字典排序应用其排序规则字母表或语言 用于存储非 Unicode 字符数据代码页 例 Latin1_General 或文两者都使用代码页 1252或土耳其文使用代码页 1254 CaseSensitivity CI 指定区写CS 指定区写 AccentSensitivity AI 指定区重音AS 指定区重音 KanatypeSensitive Omitted 指定区写KS 指定区假名类型 WidthSensitivity Omitted 指定区写WS 指定区写 BIN 指定使用二进制排序序 目前查询区要改免反悔查询: select from a / a_nam a_add ---------- ---------- 1 aa 1 bb 2 cc 2 vv 2 kk 3 dd 3 ee 4 dd 5 ee 6 yy 6 yy (11 row(s) affected) / 现我查询a_add = 'aa''Aa'等等行 Example 1: select from a where a_add collate Chinese_PRC_CS_AS_WS = 'aa' / a_nam a_add ---------- ---------- 1 aa (1 row(s) affected) / Example 2: select from a where a_add collate Chinese_PRC_CS_AS_WS = 'Aa' / a_nam a_add ---------- ---------- (0 row(s) affected) / 三面记住用笨转化ascii select from a where ascii(substring(a_add,1,1)) = ascii(substring('Aa',1,1)) and ascii(substring(a_add,2,1)) = ascii(substring('Aa',2,1)) / a_nam a_add ---------- ---------- (0 row(s) affected) / 三:任何版本都 select from a where cast(a_add as varbinary(10))= cast('aa' as varbinary(10)) 以上就是关于简体中文GBK和简体 UTF8到底是什么区别全部的内容,包括:简体中文GBK和简体 UTF8到底是什么区别、网站GBK和UTF-8两种编码格式有什么区别、数据库中怎么将汉字gbk转utf等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力! 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/sjk/9700572.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |