关于MSSQL SERVER 中数据乱码的问题数据库教程(共5篇)由网友“元小秦”投稿提供,以下是小编为大家准备的关于MSSQL SERVER 中数据乱码的问题数据库教程,供大家参考借鉴,希望可以帮助到有需要的朋友。
篇1:关于MSSQL SERVER 中数据乱码的问题数据库教程
今天新装了MSSQL SERVER 2005
感觉界面比以前更友好
在想.NET 的界面过度
安装完毕
新建一数据库
插入条记录
发现回显的全部都是 ?????....
乱码....
仔细查看了半天
发现数据库的排序规则是德语...
修改方法:数据库属性->选项->排序规则
设置成 CHINESE_PRC_CI_AI 就可以了
篇2:完美解决mysql中文乱码的问题数据库教程
mysql|sql|解决|问题|中文乱码
*MySQL(和PHP搭配之最佳组合)中文乱码的原因
MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点:
-MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留在latin1
-MySQL(和PHP搭配之最佳组合) table的语系设定问题(包含character与collation)
-客户端程式(例如php)的连线语系设定问题
在之前的两篇文章中已介绍过如何设定MySQL(和PHP搭配之最佳组合) server/table的character/collation,
接下来只需要补充几点注意事:
*MySQL(和PHP搭配之最佳组合)中文乱码必胜解决法
1、MySQL(和PHP搭配之最佳组合)启动时会读取一个预设的config档,一般名称为my.ini,而它会到下列两位置去寻找这个档案:
C:windowsmy.ini也就是作业系统的安装目录,也有可能是C:winntmy.ini
C::my.cnf也就是C disk的根目录
注意不同位置里的档案suffix不一样,这点在之前的文章中没有特别强调,因此那时我是用更复杂的方法直接重新将MySQL(和PHP搭配之最佳组合)注册到service里面,并在那里指定my.ini的位置。
2、my.ini里的内容为:
[MySQL(和PHP搭配之最佳组合)d]
default-character-set=utf8
[client]
default-character-set=utf8
init_connect='SET NAMES utf8'
其中MySQL(和PHP搭配之最佳组合)d是指定server启动时要用的语系,但如果这里设定为utf8可能会让许多英文软体不开心,例如osCommerce/mediaWiki,所以这里建议设成latin1。
下面的client则是设定当client连线时要使用什么语系,但可惜的是这个设定不是每个client都会鸟它,基本上只有MySQL(和PHP搭配之最佳组合)自已家的程式,例如MySQL(和PHP搭配之最佳组合).exe, MySQL(和PHP搭配之最佳组合)d.exe, MySQL(和PHP搭配之最佳组合)admin.exe或是MySQL(和PHP搭配之最佳组合) Control Center这种程式会去读取这个设定档然后改用utf8连线,
note:感谢b6s桑热情相助提供第二行指令,据说比一支支php程式去设定connection setting更快,这样应该也可以顺便解决phpmyadmin无法正确显示unicode中文的问题(不过amfphp到是不吃这套,一定要乖乖的自已设定语系才行)
但大部份工程师应该都是自已写php/jsp(SUN企业级应用的首选)程式去连线,此时自然不会读取这个设定而继续使用预设的语系- latin1。
这也正是八成来信朋友阵亡的地方。
通常我会用一个独立的档案来处理MySQL(和PHP搭配之最佳组合) connection的设定,例如:
PLAIN TEXT
//database connection details.
$host = “localhost”;
$link = MySQL(和PHP搭配之最佳组合)_connect($host, “xxx”, “xxx”);
MySQL(和PHP搭配之最佳组合)_query(“SET NAMES 'utf8'”);
MySQL(和PHP搭配之最佳组合)_select_db(“your_table_name_here”, $link);
?>
请注意在MySQL(和PHP搭配之最佳组合)_connect后第五行的地方有加上一个“set names 'utf8' ”的指令,告诉MySQL(和PHP搭配之最佳组合)这个connection之后的连线内容都要使用utf8,经过这样设定后,通常就可以解决大部份问题。
从这里也可以推想得知,如果你有用某种custom connection pooling机制,就要记得在每次建立新的connection后立即设定为utf8。
这组设定经过几天的反覆测试(使用中文繁、简、日文、韩文)后已经证实完全不会有乱码或是某些字变成“口”。
例子:试者输入这几个字「不道可否」如果它们能正确进入MySQL(和PHP搭配之最佳组合)再被读出来,那就是中文没问题了,如果读出来后变成『口』字那就是革命还未成功同志仍需努力...orz
当然我也顺便验证了flex2 - amfphp - php - MySQL(和PHP搭配之最佳组合)来回传resultset也不再会有中文乱码问题,可以安心使用。
篇3:怎样解决MySQL 5.0.16的乱码问题数据库教程
问:怎样解决MySQL 5.0.16的乱码问题?
答:MySQL 5.0.16的乱码问题可以用下面的方法解决:
< P>
1.设置phpMyAdmin
Language:Chinese simplified (zh-utf-8)
MySQL 字符集:UTF-8 Unicode (utf8)
MySQL 连接校对 gbk_chinese_ci
2.创建数据库时
整理设置成 gbk_chinese_ci
3.用SQL建立表中
ENGINE=MyISAM DEFAULT CHARSET=gbk;
ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40 ;
4.检查表结构中
varchar(100) 的整理属性为gbk_chinese_ci
其它类型的整理属性为空,
怎样解决MySQL 5.0.16的乱码问题数据库教程
,
5.代码中加上
$db->query(“SET CHARACTER SET GBK”); Linux下需要,Windows下则不需要。
此种操作相当于Connection Character Sets and Collations
篇4:Sybase数据库乱码问题的解决方法
搭建测试数据库服务器时,遇到了乱码问题,之前没有遇到是因为开发数据库服务器是早就安装好并设置好字符集的,因此些问题在部署测试环境时才出现,当时已经将数据库配置完毕,并且所有的初始化脚本都已经执行完毕,工程也已经成功部署在WebLogic上,打开IE,运行程序,却发现所有从数据库中读取出来的都是乱码,经过上网搜索的相关资料,需要设置字符集,但刚开始查找到的资料基本是都是支言片语,没有一个系统的讲解如何设置字符集,几乎将他们所有的方法都试过了,结果不但没有弄好,甚至连控制台和SQL平台都是乱码了,实在弄不明白了,就去问高人了,他给我发了一个专门讲解字符集的文档,讲的很全面,而且通过他的帮忙终于将解决了乱码问题,
下面我总结一下设置字符集的过程:
1、安装完Sybase后,如果要想设置字符集为CP936,就必须先安装该字符集,因为Sybase默认的字符集表中并没有该字符集,安装步骤如下:(这里SYBASE的安装路径为c:sybase)
1.c:>;cd sybasecharsetscp936
2.c:sybasecharsetscp936>;
charset -Usa -Psa_pass -Sserver_name binary.srt cp936
通过上述命令就成功将CP936字符集安装表Sybase的系统字符集表中,但必须重启Sybase服务两次才能看到结果,可以通过查看master数据库中的syscharsets表查看是否已经安装成功,我们可以看到已经安装成功了:1002,171,0,1,'cp936','CP936 (Simplified Chinese).',’…’
2、看到CP936的编号为171,我们需要在Sybase的属性中设置系统字符集为该ID,如下图所示:
如果设置完字符集成出现错误,是因为master数据库的表空间默认只分配几百K的空间,导入新的数据后已经没有足够的空间了,所以要对master数据库设置大一些的表空间,点击master数据库右键属性,选择表空间的tab页,对原有的表空间编辑重新分配大小,将master所有的表空间都分配了就可以解决该问题,
3、 设置好字符集后就可以执行初始化脚本了。 这其中还有几个小插曲,由于第二步的表空间不足的错误根本没有一个文档中有说明,所以我和郭立英根本谁也不知道,都以为Sybase被我们搞崩溃了呢,没办法只能重新安装,但安装后还是有该问题,后来请高人来帮我们看才知道是表空间的问题,还有就是虽然设置好字符集后,打开IE看还是乱码,不知道为什么,后来重新执行一遍脚本后就没有了,是因为之前默认的字符集为Cp850,所以用该字符集下执行的脚本再到CP936的环境中读取一定会乱码,所以在CP936的环境中再执行一遍脚本就没有问题了。
篇5:求记录中的数据的方法!数据库教程
数据
已知数据:
Column1 Column2 Column3 Column4A 10 am 1999-01-01 00:00:00.000A 11 am 1999-01-02 00:00:00.000B 12 bm 1999-01-03 00:00:00.000B 13 bm 1999-01-04 00:00:00.000C 14 cm 1999-01-05 00:00:00.000C 15 cm 1999-01-06 00:00:00.000
要求得到数据:
Column1 Column2 Column3 Column4A 11 am 1999-01-02 00:00:00.000B 13 bm 1999-01-04 00:00:00.000C 15 cm 1999-01-06 00:00:00.000
--数据装载
Create Table #T(Column1 varchar(10),Column2 int,Column3 varchar(10),Column4 datetime)insert #T select 'A',10,'am','1999-1-1'union all select 'A',11,'am','1999-1-2'union all select 'B',12,'bm','1999-1-3'union all select 'B',13,'bm','1999-1-4'union all select 'C',14,'cm','1999-1-5'union all select 'C',15,'cm','1999-1-6'
--测试语句 方法1:
select a.* from #T a where (a.Column4) = (select top 1 (Column4) from #T where Column1 = a.Column1 order by Column4 desc)
--测试结果:
Column1 Column2 Column3 Column4 ---------- ----------- ---------- ------------------------------------------------------ A 11 am 1999-01-02 00:00:00.000B 13 bm 1999-01-04 00:00:00.000C 15 cm 1999-01-06 00:00:00.000
--测试语句 方法2:(最佳效率)
select a.* from #T a join( select Column1,Column4=max(Column4) from #T group by Column1 )b on a.Column1=b.Column1 and a.Column4=b.Column4order by a.Column1
--测试结果 方法2:
Column1 Column2 Column3 Column4 ---------- ----------- ---------- ------------------------------------------------------ A 11 am 1999-01-02 00:00:00.000B 13 bm 1999-01-04 00:00:00.000C 15 cm 1999-01-06 00:00:00.000
【关于MSSQL SERVER 中数据乱码的问题数据库教程(共5篇)】相关文章:
Coredraw表格导入终极解决方案2023-05-10
Lua数据类型介绍2022-08-18
python使用正则表达式检测密码强度源码2022-09-03
python基础教程之字典操作详解2023-04-25
Python使用稀疏矩阵节省内存实例2023-07-12
推荐没有虚拟主机的小巧的Mysql数据库备份脚本(PHP)2022-04-30
常用办公软件微软Excel技巧九则EXCEL基本教程2023-01-25
电脑系统windows7中word会出现已停止工作怎么办?2022-06-02
python使用循环实现批量创建文件夹示例2022-10-04
《递归算法的实现》教学设计2023-09-25