SQLSERVER访问MYSQL表中文显示成乱码

合集下载

SqlServer2005中文乱码解决方法

SqlServer2005中文乱码解决方法

Sql Serve‎r 2005 中文乱码解决使用SQL‎SERVE‎R2005‎的时候常常‎遇到中文字‎符为乱码的‎情况,经过研究发‎现,设置SQL‎的排序规则‎可以解决这‎个问题。

1、登录服务器‎打开Mic‎r osof‎t SQL Serve‎r Manag‎e m ent‎Studi‎o。

2、在要修改的‎数据库上单‎击鼠标右键‎,并选择“属性”。

3、在弹出的数‎据库属性窗‎口中点击“选择页”中的“选项”。

4、将排序规则‎由默认的S‎Q L_La‎t in1_‎G ener‎a l_CP‎1_CI_‎A S修改为‎C hine‎s e_PR‎C_CI_‎A S。

5、点击确定就‎O K。

varch‎a r修改为‎n varc‎h archar修‎改为nch‎a r注:如果无法修‎改的话,请尝试关闭‎所有与此数‎据库的连接‎,实在不行的‎话请重启动‎S QL SERVE‎R 服务。

两种方法:1:安装时不要‎选 Hide advic‎e confi‎g urat‎i on optio‎n s然后再 Colla‎t ion desig‎n ator‎and order‎中选择 Chine‎s e_PR‎C就可以了。

2:在建表时指‎明某个字段‎的语言方法 COLLA‎T E Chine‎s e_PR‎C_CS_‎A S_WS‎示例:creat‎e table‎test(a varch‎a r(255) COLLA‎T E Chine‎s e_PR‎C_CS_‎A S_WS‎NULL,b varch‎a r(255) COLLA‎T E sql_l‎a tin1‎_gene‎r al_c‎p1_ci‎_as NULL)inser‎t test value‎s('中文','中文')插入后字段a 为中文,b 为??sql serve‎r中文乱码‎30我用的是s‎q l serve‎r2008‎英文版的系统也是英‎文的我在里面插‎入数据的时‎候只要是中文‎就显示的是‎乱码我是直接在‎表里面添加‎数据的各位大侠帮‎帮忙啊满意答案浙中IT认‎证 11级 2010-08-26系统语言里加中文,要不然中文‎一定是乱码‎。

MySQL中文字符乱码解决

MySQL中文字符乱码解决

以下的文章主要介绍的是解决MySQL中文乱码的好用方案大汇总,我们大家都知道在使用MySQL数据库时,在插入中文字符的实际操作过程中,有时会出现一些乱码,例如,中文全被用?代替。

出现这种情况的原因,多是字符集不匹配造成的。

在MySQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。

插入中文字符时,与之不匹配,就会出现乱码。

本人使用的是MySQL 5.0版,并用C#操作MYSQL数据库,当插入中文字符时,发现显示的是MySQL中文乱码。

初步估计是字符集没有配对。

查找后,发现MSYQL默认使用的是latin1,因此将数据库的配置文件中的字符设置改为utf8,并在C#中将中文字符,转为utf8,插入后,仍为乱码。

MySQL也支持gb2312,又将MySQL的字符设置改为gb2312,C#中使用Default,重起MySQL后,操作仍然无效。

后想起,虽然将MySQL的字符集设置为gb2312或utf8,但已经建立的数据库和表,仍采用的是默认的字符集,也即仍为当初的西欧字符集,最好,只得忍痛将数据库删除,重新以gb2312字符集建立数据库和表。

再用C#插入中文字符后,一切OK。

再安装好MySQL后,可以手工或使用配置工具,将my.ini文件中的默认字符集改为gb2312,再重新建库和表时,不用再在语句中指定字符集,其默认设置也即为gb2312,可以正常显示中文字符集。

1.建立数据库是一般的语句:1.create database dbname;2.在库中建表时语句为:1.create table tbname(..........)engine=MyISAM character set gbk collate gbk_chinese_ci;3.程序中连接数据库的Connection对象需要写成1.Connection con = DriverManaager.getConnection("jdbc:mysql://.er=..&password=...&useUnicode=true&characterEncoding=gbk");4.若在终端下用mysql命令向数据库插入数据,则在进入mysql时的命令写成:1.#mysql --default-character-set=gbk -u ... -p5.在jsp页面的编码设置为utf-8.我找到一个方法好像可以MySQL中文乱码解决这个问题了在安装mysql server的时候,无论是选择gb2312还是utf-8,都没有关系,这些字符集在phpMyAdmin中都可以很好的工作,主要是自己的脚本要正确的显示中文,可以在php脚本中,连接数据库之后,正式的数据查询提交之前执行下面的语句:$SetCharacterSetSql = "SET NAMES '自己使用的字符集'";1.$Recordset1 = mysql_query($SetCharacterSetSql, $conn_Resource) or die(mysql_error());然后再执行自己的查询语句,得到的结果就是正确的了。

Mysql常见中文乱码及解决方案

Mysql常见中文乱码及解决方案

Mysql常见中⽂乱码及解决⽅案
在Mysql中会经常碰到中⽂乱码问题,与oracle相⽐,不但库拥有字符集,连表,或字段都拥有⾃⼰的字符集
导致我们在查询,新增记录时出现各种各样的乱码,或者是⾃⼰的终端上没有问题,在其它终端连接就会出现问题。

常见乱码分析:
1,登录⽅式,导致的中⽂乱码:
2,操作系统语⾔集:
$ cat /etc/sysconfig/i18n
显⽰UTF-8格式,也可以使⽤:
$ echo $LANG
可以使⽤ export LANG=C 进⾏修改。

但是重新登录后,乱码依然:
3,⽂件格式导致的中⽂乱码:
此时,在执⾏SQL脚本时就会报错:
这个解决⽅案,是将⽂件修改成utf-8格式,或者在VI中修改:
:set fileencoding=utf-8
在MYSQL中,⼀个汉字占3个字节,如何避免乱码:
1,编辑⽂件时,指定与数据库相同字符集,⽐如gbk
2,在初始化数据库时,对库的字符集,表,以及字段进⾏统⼀编码设置,⽐如gbk
3,在代码中,指定字符集:
mysql_set_character_set(mysql, "utf8");
或者执⾏:
mysql_query('SET NAMES UTF8')。

MySQL中文乱码问题的解决方法

MySQL中文乱码问题的解决方法

MySQL中文乱码问题的解决方法在使用MySQL数据库过程中,经常会遇到中文乱码的问题。

这是由于MySQL默认使用的字符集是Latin1,而大部分中文系统使用的是UTF-8字符集所致。

本文将介绍在MySQL中解决中文乱码问题的几种方法。

一、修改MySQL配置文件MySQL配置文件(f)是MySQL服务器的设置文件,通过修改该文件可以改变MySQL的默认字符集。

在Linux系统中,该文件通常位于/etc/mysql/f或者/etc/f。

在Windows系统中,该文件通常位于MySQL安装目录下的my.ini文件。

步骤如下:1. 找到f或my.ini文件并打开。

2. 在[mysqld]部分添加或修改以下内容:```[mysqld]character-set-server=utf8collation-server=utf8_general_ci```3. 保存文件并重启MySQL服务。

二、修改数据库、数据表、字段字符集如果修改MySQL配置文件没有解决中文乱码问题,可以尝试直接修改数据库、数据表、字段字符集。

1. 修改数据库字符集可以使用ALTER DATABASE语句修改数据库的字符集。

例如:```ALTER DATABASE database_name CHARACTER SET utf8 COLLATEutf8_general_ci;```2. 修改数据表字符集可以使用ALTER TABLE语句修改数据表的字符集。

例如:```ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;```3. 修改字段字符集可以使用ALTER TABLE语句修改字段的字符集。

例如:```ALTER TABLE table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;```其中,table_name为表名,column_name为字段名。

访问MySQL数据库时中文乱码问题分析及解决

访问MySQL数据库时中文乱码问题分析及解决

访问MySQL数据库时中文乱码问题分析及解决使用MySQL保存中文数据时,经常会遇到乱码问题。

产生乱码的原因很多,在笔者以为对MySQL的字符集处理已经很有了解的时候,使用C#编程时,竟再一次遇到了乱码。

联想到前几天一位同事在使用JDBC访问MySQL时遇到的中文乱码问题,决定对MySQL中文乱码问题的产生场景进行一次总结。

一、错误读出现象:一个已经存在数据的MySQL数据库,该数据库的数据用系统中其它软件、网页查看均正常,使用MySQLcc之类的客户端查看也正常,可是在新写的网页中总是显示乱码。

分析:其它系统都可以正常查看数据,说明数据本身是没有问题的。

在网页中显示乱码,一定是网页的编码字符集和获取到的数据的编码字符集不一至。

比如数据库的字符集是UTF 8的,而网页的字符集是gb2312的,那么网页就会把UTF8编码的字体串当作gb2312的来处理,结果产生乱码。

解决办法:在连接数据库时,设定连接字符集,使连接字符集和当前网页或客户端程序使用的字符集一致。

可以使用MySQL的Set Names指令设定连接字符集。

假设网页的字体集为gb2312。

在连接MySQL后,在连接上执行如下SQL语句:Set Names ‘gb2312’在以后所有这个连接上的查询,MySQL都会自动把数据库中的数据转换成gb2312编码格式传过来。

mysqli_query($db,"SET NAMES 'gb2312'")二、错误写入现象:一个网页或程序向一个MySQL数据库中写数据,写完后,这个网页或程序自己可以正常读取数据,而从其它客户端或网页中读取数据都是乱码。

分析:其它的正常的客户端出现乱码,说明数据库中的字符编码不对。

写数据的那个网页能正常读取,是因为写和读都用了错误的编码格式,将错就错,反而能读出正确的数据了。

比如数据库中设定的字符集为UTF8,而网页使用gb2312编码执行了插入数据的SQL,那么MySQL就会把这些gb2312的编码当成是UTF8的编码写进数据库。

mysql彻底解决输入和显示中文字段乱码问题

mysql彻底解决输入和显示中文字段乱码问题

1、mysql中文乱码问题有两个,第一个是客户端的中文输入乱码问题,第二个是在黑窗口显示结果时乱码。

第一个问题需要设置客户端client和连接connection的编码为:GBK;
第二个问题需要设置结果显示results的编码为:GBK;
先查询现在的编码:
然后修改编码:
但是这样的改变是动态的,也就是当下一次性的,如果下次重启了数据库,其编码有会恢复为原来的样子了。

----------------------------------------彻底解决中文乱码问题------------------------------------------------------------
1、先得找到 .ini 数据库配置文件。

在Mysql 5.5版本以下的旧版本,.ini 文件可以直接在Mysql的安装目录中找到。

在Mysql 5.5及以上的新版本,.ini 文件就需要在C:\ProgramData\MySQL\MySQL Server 5.5中才能找到!
但C盘下的ProgramData目录是隐藏的,所以先选择显示隐藏项目:
修改.ini 文件中的[mysql] 下面的default-character-set = gbk
这种修改方法是静态的,不管是否重启,都有效。

怎样解决MySQL中文显示乱码

怎样解决MySQL中文显示乱码

怎样解决MySQL中文显示乱码当你的MySQL返回的字符串的编码格式(字符集)与你的客户工具程序(mysql, php, query browser, ...)当前使用的字符集不同时,就会造成乱码。

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级。

最终是字段级的字符集设置。

注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。

所以我们建议要用show create table table ; 或show full fields from tableName;来检查当前表中字段的字符集设置。

专职优化、域名注册、网站空间、虚拟主机、服务器托管、vps主机、服务器租用的中国信息港来为你做详细介绍!MySQL 中关于连接环境的字符集设置有 Client端,connection, results 通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。

这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。

基本上99%的乱码由些造成。

乱码后需要检查的信息。

1. 数据库表中字段的字符集设置。

show create table TableName或show full columns from tableNamemysql> show create table t1;+-------+------------------------------------| Table | Create Table+-------+------------------------------------| t1 | CREATE TABLE `t1` (`id` int(11) NOT NULL,`c1` varchar(30) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=gbk |+-------+------------------------------------1 row in set (0.00 sec)mysql> show full columns from t1;+-------+-------------+----------------+------+-----+-| Field | Type | Collation | Null | Key |+-------+-------------+----------------+------+-----+-| id | int(11) | NULL | NO | PRI || c1 | varchar(30) | gbk_chinese_ci | YES | |+-------+-------------+----------------+------+-----+-2 rows in set (0.00 sec)mysql>2. 当前联接系统参数show variables like 'char%'mysql> show variables like 'char%';+--------------------------+----------------| Variable_name | Value+--------------------------+----------------| character_set_client | gbk| character_set_connection | gbk| character_set_database | latin1| character_set_filesystem | binary| character_set_results | gbk| character_set_server | latin1| character_set_system | utf8| character_sets_dir | C:/Program File+--------------------------+----------------8 rows in set (0.00 sec)mysql>1. 中文,请确保表中该字段的字符集为中文兼容:big5 | Big5 Traditional Chinesegb2312 | GB2312 Simplified Chinesegbk | GBK Simplified Chineseutf8 | UTF-8 Unicode2. 确保,联接参数与这个字段字符集一致,你可以用 set name 'charsetname';比如,set name 'gbk';这条命令会同时修改character_set_client,character_set_connection,character_set_results (如果你的这架MySQL中都为中文,则你可以在my.ini或f中加上或修改这个参数, 参数文件修改后需重启MySQL服务)[mysql]default-character-set=gbk3. PHP 乱码,同样 mysql_query("set name 'gbk'"); 其它API也类似。

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

关于Mysql中⽂乱码问题该如何解决(乱码问题完美解决⽅案)最近两天做项⽬总是被乱码问题困扰着,这不刚把mysql中⽂乱码问题解决了,下⾯⼩编把我的解决⽅案分享给⼤家,供⼤家参考,也⽅便以后⾃⼰查阅。

⾸先:⽤show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置如果查看出来都是gbk2312,或 gbk,那么就只能⽀持简体中⽂,繁体和⼀些特殊符号是不能插⼊的,我们只有修改字符集为UTF-8,修改⽅法如下:⽤记事本或UitraEdit打开mysql数据库安装⽬录下的my.ini⽂件打开,然后Ctrl+F搜索default-character-set,将后⾯的字符集修改为UTF8,注意要修改两个地⽅,⼀个事客户端的,⼀个是服务端的。

然后保存,重启mysql服务、、进去继续⽤show variables like “%colla%”;show varables like “%char%”;着两条语句查询⼀下字符集。

如图:到此就配置完成了。

注意:如果以前建有数据库没有删除的请⽤ show database 数据库名;和 show create table 表名;查看⼀下数据库和表的字符集是否为UTF8 ,因为修改my.ini⽂件,它不能修改原来数据库的的字符集。

在命令⾏下⾯可以⽤alter database 数据库名 character set “字符集”;命令来修改数据库字符集还有⼀点要注意的是,修改为UTF8以后,在命令⾏下⾯中⽂是乱码的,只输出到页⾯或控制台是正常的,这个问题我也上⽹查了⼀下,貌似命令⾏下⾯不⽀持UTF8,我也不太清楚。

当修改以后,在命令⾏下⾯如果要插⼊中⽂,可以在插⼊语句之前执⾏,set names gbk2312;就可以插⼊中⽂了,但是不能插⼊繁体和⼀些特殊符号。

以上就是这⼏天解决乱码的成果。

Mysql中文乱码问题完美解决方案

Mysql中文乱码问题完美解决方案

转载:Mysql中文乱码的解决方法第一种方法,很精辟的总结:经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧:WINDOWS 下导入应该这样使用MYSQL的命令在DOS 命令下进入mysql的bin目录下,输入mysql -uroot -p密码数据库名称<要恢复的数据库, 例如我们要把D盘的一个名称为test.sql的数据库恢复到本地的test2这个数据库,那么就这样: mysql -uroot -p密码test2以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。

只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);mysql_query("SET NAMES 'GBK'");数据库字符集为utf-8连接语句用这个mysql_query("SET NAMES 'UTF8'");mysql_query("SET CHARACTER SET UTF8");mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");还有个方法就是,如果你自己的机器的话,可以更改MYSQL字符集,一般在MYSQ4和MYSQL5这两个版本中有效。

SqlServer数据库中文乱码问题解决

SqlServer数据库中文乱码问题解决

SqlServer数据库中⽂乱码问题解决
1.右键数据库》属性
2.点击“选项”》修改排序⽅式
解决⽅法2:
最彻底的就是重装SQL,在安装时⾃定义安装,选好语⾔版本及排序规则,这样问题就解决了。

参数解释如下:
前半部份:指UNICODE字符集,Chinese_PRC_指针对⼤陆简体字UNICODE的排序规则。

排序规则的后半部份即后缀含义:
_BIN ⼆进制排序
_CI(CS) 是否区分⼤⼩写,CI不区分,CS区分
_AI(AS) 是否区分重⾳,AI不区分,AS区分
_KI(KS) 是否区分假名类型,KI不区分,KS区分 
_WI(WS) 是否区分宽度WI不区分,WS区分 
区分⼤⼩写:如果想让⽐较将⼤写字母和⼩写字母视为不等,请选择该选项。

区分重⾳:如果想让重⾳和⾮重⾳字母视为不等,请选择该选项。

如果选择该选项,
⽐较还将重⾳不同的字母视为不等。

区分假名:如果想让⽐较将⽚假名和平假名⽇语⾳节视为不等,请选择该选项。

区分宽度:如果想让⽐较将半⾓字符和全⾓字符视为不等,请选择该选项。

SQL Server乱码

SQL Server乱码

首先得知道入库的问题还是页面编码的问题。

最好直接打开数据表,在里边输入中文,若是问号,就是数据库的问题,这时的解决方法有两种。

第一种办法:先选中出错的数据库→选中以后右键点击属性会弹出数据库属性对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。

第二种办法:首先打开你的sql查询分析器(新建查询),然后输入以下代码执行即可:ALTER DATABASE 数据库名COLLATE Chinese_PRC_90_CI_AS例如:ALTER DATABASE 9NPC COLLATE Chinese_PRC_CI_AIALTER DATABASE AutoUpgrade COLLATE Chinese_PRC_CI_AI(以上操作都可在SQL Server Management Studio Express中完成,操作时要保证数据库没有使用)若在数据表中输入的中文能正常显示,就是入库的问题,这事就要改传入页面的编码问题,一般有“GBK,gb2312和utf-8”我的改成最后一种变正常。

更改排序规则。

alter database 数据库collate 排序规格其中,某些排序规则指定ci 不区分大小写,cs 指定区分大小写。

如:alter database 数据库collate chinese_prc_ci_as不区分大小写,而alter database 数据库collate chinese_prc_cs_as使之区分大小写。

使用如下命令,可以获得更多的规则:select *from ::fn_helpcollations()在sql server2000中如何改变整个sql的排序规则名称重建master 数据库关闭microsoft&reg; sql server&#8482; 2000,然后运行rebuildm.exe。

如何解决MySQL中文乱码和字符集问题

如何解决MySQL中文乱码和字符集问题

如何解决MySQL中文乱码和字符集问题MySQL是一种开源的关系型数据库管理系统,被广泛用于各种业务应用和网站开发中。

然而,在处理中文字符时,MySQL往往会遇到乱码和字符集问题,给使用者带来很多麻烦。

本文将探讨如何解决MySQL中文乱码和字符集问题,并提出一些优化建议。

一、了解字符集和字符编码在解决MySQL中文乱码和字符集问题之前,我们首先需要了解一些基本概念,即字符集(Character Set)和字符编码(Character Encoding)。

字符集是一种规范,用于定义字符的集合和字符的规则。

常见的字符集有ASCII、UTF-8、GBK等。

字符编码是字符集在计算机中存储和传输的方式。

常见的字符编码有ASCII、UTF-8、UTF-16、GB2312等。

二、设置数据库、表和字段的字符集和字符编码解决MySQL中文乱码和字符集问题的第一步是正确设置数据库、表和字段的字符集和字符编码。

1. 设置数据库字符集和字符编码在创建数据库时,可以指定数据库的字符集和字符编码。

例如:CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;这样,数据库的字符集就被设置为utf8mb4,字符编码则是utf8mb4_unicode_ci。

确保数据库的字符集和字符编码与应用程序及其它组件保持一致。

2. 设置表的字符集和字符编码在创建表时,也可以指定表的字符集和字符编码。

例如:CREATE TABLE mytable (id INT,name VARCHAR(30)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;这样,表的字符集和字符编码与数据库保持一致。

3. 设置字段的字符集和字符编码在创建字段时,可以指定字段的字符集和字符编码。

例如:CREATE TABLE mytable (id INT,name VARCHAR(30) CHARACTER SET utf8mb4 COLLATEutf8mb4_unicode_ci);这样,字段的字符集和字符编码与表保持一致。

SQLSERVER访问MYSQL表中文显示成乱码

SQLSERVER访问MYSQL表中文显示成乱码

错误描述:SQLSERVER访问MYSQL表中文显示成乱码,中文会显示成????解决思路:用的是mysql-5.1.50-win32 与odbc3.1版本的.现在改成ODBC5·1 这样转换就没有问题SQLSERVER连接MYSQL 建立链接如下:数据库软件与ODBC软件:mysql-5.1.50-win32与ODBC5·1(注意,odbc3.1版本,会出现乱码)MYSQL数据库情况:gmp_test第一步:先要在MYSQL进行授权,让主机能访问MYSQL数据库,设置如下:在mysql数据库执行,语句:GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.216' IDENTIFIED BY 'yxtech' WITH GRANT OPTION;第二步:在SQLSERVER主机,设置ODBC连接,设置如下图:第三步:在SQL SERVER 配置连接,配置语句如下--删除连接exec sp_dropserver'dxmysql','droplogins'--建立一个新连接EXEC SP_ADDLINKEDSERVER@server ='dxmysql', --连接名称(随意,规范就可)@srvproduct ='MYSQL', --连接MYSQL,数据库类型,固定的@provider ='MSDASQL', --连接MYSQL的编码,固定的@datasrc ='my_sql' --建立的ODBC连接(第二步建立的)--建立用户连接EXEC sp_addlinkedsrvlogin'dxmysql','false','bi_etl','root','yxtech' --'dxmysql'为连接名称--'bi_etl'为SQLSERVER用户,如果为NULL--'root','yxtech' 为登录MYSQL 的用户及密码--进行查询select*FROM OPENQUERY(dxmysql,'select * from test1')。

mysql乱码问题解决方案

mysql乱码问题解决方案

Windows下找到C:\Program Files\MySQL\MySQL Server 5.5(我的安装路径)下面的my.ini设置default-character-set=gbk注:这个设置的是client(客户端)的编码格式,default-character-set=***, 这个参数包括character_set_client=,character_set_connection=,character_set_results=这三个参数,即设置default-character-set=什么格式这三个自动会成为什么格式.设置character-set-server=utf8注:这个设置的是数据存储的编码格式,default-character-set=***,这个参数包括character_set_database =,character_set_server=,character_set_system=这三个参数,即设置character-set-server=什么格式这三个自动会成为什么格式.注意:在设置完参数后要重新启动Mysql服务器,编码格式才会生效,但是以前创建的数据库编码格式还保持着Mysql的默认编码(Latin1格式),如果你在重启服务器后只是在原来的数据库上新建立表,插入中文的话会出现Incorrect string value:’\****’的错误提示,这说明你插入的数据类型与数据库存储的类型不一致造成的,切记必须重新建立数据库或者将原来数据的存储编码格式更改为新设置的。

下面附图说明更改好所有参数和重启服务器后,原有数据库和新建数据库的编码格式的异同.原有数据的character_set_database=utf8现有数据的character_set_database=utf8下面说下关于关于Mysql数据库的一个图形化工具SQLyog中的编码格式设置问题。

character-set-server=utf8编码格式一致。

mysql中文乱码问题的解决方法【详细】

mysql中文乱码问题的解决方法【详细】

mysql中文乱文问题1Mysql数据库1.1安装数据库mysql1.2常见错误下载并安装1.3安装mysql管理工具SQLyogSQLyog的安装和使用方法:https:///qq_32534441/article/details/849695491.4创建数据库和表1.4.1常见错误(1)插入数据时,注意逗号与下一个字段间有空格,否则会报错。

(2)Mysql数据库中输入中文乱码解决乱码的方法如下:第一步:找到安装mysql的目录找到my.ini 文件;第二步:使用记事本打开my.ini文件,找到这个地方看看default-character-set 是不是utf8不是的话改为utf8即可!(以前的版本可能没有这句话直接加上就好了!)# MySQL client library initialization.[client]port=3306[mysql]default-character-set=utf8第三步:在mysql数据库cmd中输入:show variables like'%char%';Show create database test;Show create table student;查看数据库的编码格式!第四步:改变原有数据库的编码方式:set character_set_database=utf8;set character_set_server=utf8;set character_set_client=gbk;set character_set_connection=gbk;set character_set_results=gbk;set names gbk;最后的编码格式为:第五步:将列的编码也改为utf8第六步:去掉隐藏语言选项前的勾,并将表中需要显示中文的列的字符编码改为utf8。

彻底解决mysql中文乱码

彻底解决mysql中文乱码

彻底解决mysql中⽂乱码mysql是我们项⽬中⾮经常常使⽤的数据型数据库。

可是由于我们须要在数据库保存中⽂字符,所以经常遇到数据库乱码情况。

以下就来介绍⼀下怎样彻底解决数据库中⽂乱码情况。

1、中⽂乱码1.1、中⽂乱码create table user(name varchar(11)); # 创建user表insert into table user("carl"); # 加⼊数据select * from user;insert into user value("哈哈");⽆法插⼊中⽂字符:1.2、查看表字符编码mysql> show create table user \G;*************************** 1. row ***************************Table: userCreate Table: CREATE TABLE `user` (`name` varchar(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)我们能够看到表的默认字符集是latin1.所以我们在创建表的时候就须要指定表的字符集:create table user(name varchar(11)) default charset=utf8;这样在Linux⾥⾯能够訪问并且能够插⼊与訪问这个表了。

1.3、数据库与操作系统编码尽管在服务器端能够显⽰中⽂正常,可是在客户端可能会显⽰乱码。

由于我们的服务器是UTF8。

并且数据库的编码也存在问题。

这⾥我们能够看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.以下我们就来看看怎样解决mysql乱码情况。

sql server数据库显示缅甸文乱码的解决方案

sql server数据库显示缅甸文乱码的解决方案

sql server数据库显示缅甸文乱码的解决方案【问题概述】在SQL Server数据库中,如果显示缅甸文时出现乱码,这通常是由于字符编码或者字符集设置不正确导致的。

为了解决这个问题,我们需要对SQL Server进行一些配置。

【解决方案】1.修改SQL Server配置步骤如下:1) 打开SQL Server Management Studio,连接到数据库实例。

2) 在“管理”菜单中,选择“服务”。

3) 找到“SQL Server Browser”服务,右键点击,选择“属性”。

4) 在“常规”选项卡中,找到“服务启动类型”,将其设置为“自动”。

5) 在“登录”选项卡中,确保“登录模式”设置为“混合模式”。

6) 点击“应用”,然后点击“确定”。

2.修改数据库字符集设置步骤如下:1) 在SQL Server Management Studio中,右键点击数据库,选择“属性”。

2) 在“常规”选项卡中,找到“数据库字符集”,将其设置为“UTF-8”。

3) 点击“应用”,然后点击“确定”。

3.修改对应编码的字符集映射步骤如下:1) 在SQL Server Management Studio中,右键点击数据库,选择“新建查询”。

2) 输入以下SQL语句,并执行:```USE [master];GOALTER TABLE sys.syscolumnsSET collation = "SQL_Latin1_General_CP850_BIN";GOALTER TABLE sys.sysdatabasesSET datacode = 850;GO```4.验证解决方案步骤如下:1) 在查询编辑器中,输入以下SQL语句,并执行:```SELECT * FROM your_table WHERE column_name ="your_burmese_text";```如果结果显示正常,说明问题已解决。

MySQL数据库乱码(中文变问号)问题解决

MySQL数据库乱码(中文变问号)问题解决

MySQL数据库乱码(中⽂变问号)问题解决
在MySQL的安装⽬录(默认在C:\Program Files\MySQL\MySQL Server 5.x)修改my.ini可以解决。

mysql中⽂显⽰乱码或者问号是因为选⽤的编码不对或者编码不⼀致造成的,我是通过修改my.ini配置⽂件解决了中⽂变问号的问题。

5.7之后没有这个配置⽂件。

在[client]节点下添加 default-character-set=utf8
在[mysqld]节点下添加(注:collation是排序⽅式)
character-set-server=utf8
collation-server=utf8_general_ci
修改完my.ini⽂件后,需要重启MySQL服务,在cmd中输⼊以下命令可以启动或关闭MySQL的服务,也可以在任务管理器--->服务中⼿动关闭或开启。

关闭服务 net stop mysql
开启服务 net start mysql
最后可以登录MySQL看看配置是否成功。

输⼊ mysql -u root -p 进⼊mysql数据库,如果输⼊这个命令显⽰MySQL不是⼀个命令,需要把MySQL安装⽬录下的bin 这个路径配到环境变量中去,就可以使⽤这个命令登录MySQL。

输⼊密码:*****
show variables like 'char%'; 显⽰编码格式
如果都为utf8那就说明配置成功,再去看看乱码问题解决了没。

SqlServer中文乱码问题

SqlServer中文乱码问题
四、Unicode 对于西文字符,用一个字节来存储足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西 文字符也用两个字rchar的字段添加中文内容后乱码了上网查了一下解决方案是前面加个大写的n
SqlServer中 文 乱 码 问 题
今天往数据库里添加数据,一个Nvarchar的字段,添加中文内容后乱码了,上网查了一下,解决方案是前面加个大写的N。 ------------------------------------------------------------------------------------------------------------------------------一、在字符串前面加上 N 代表存入数据库时以 Unicode 格式存储。 二、查看sqlserver默认的编码格式 SQL语句:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') 936 简体中文GBK 950 繁体中文BIG5 437 美国/加拿大英语 932 日文 949 韩文 866 俄文 65001 unicode UFT-8 三、修改sqlserver默认编码格式 1、数据库右键-->选择属性 2、
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

错误描述:SQLSERVER访问MYSQL表中文显示成乱码,中文会显示成????
解决思路:用的是mysql-5.1.50-win32 与odbc3.1版本的.现在改成ODBC5·1 这样转换就没有问题SQLSERVER连接MYSQL 建立链接如下:
数据库软件与ODBC软件:mysql-5.1.50-win32与ODBC5·1(注意,odbc3.1版本,会出现乱码)MYSQL数据库情况:gmp_test
第一步:先要在MYSQL进行授权,让主机能访问MYSQL数据库,设置如下:
在mysql数据库执行,语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.216' IDENTIFIED BY 'yxtech' WITH GRANT OPTION;
第二步:在SQLSERVER主机,设置ODBC连接,设置如下图:
第三步:在SQL SERVER 配置连接,配置语句如下
--删除连接
exec sp_dropserver'dxmysql','droplogins'
--建立一个新连接
EXEC SP_ADDLINKEDSERVER
@server ='dxmysql', --连接名称(随意,规范就可)
@srvproduct ='MYSQL', --连接MYSQL,数据库类型,固定的
@provider ='MSDASQL', --连接MYSQL的编码,固定的
@datasrc ='my_sql' --建立的ODBC连接(第二步建立的)
--建立用户连接
EXEC sp_addlinkedsrvlogin'dxmysql','false','bi_etl','root','yxtech' --'dxmysql'为连接名称
--'bi_etl'为SQLSERVER用户,如果为NULL
--'root','yxtech' 为登录MYSQL 的用户及密码
--进行查询
select*FROM OPENQUERY(dxmysql,'select * from test1')。

相关文档
最新文档