楼主: johny666

sql server 链接服务器 实时同步mysql 字符集latin1 乱码

[复制链接]
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
11#
发表于 2014-6-17 11:13 | 只看该作者
我很奇怪,你的Mysql是Latin1字符集,怎么可能存放中文呢?

使用道具 举报

回复
论坛徽章:
77
20周年集字徽章-周
日期:2020-10-28 14:51:04秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39秀才
日期:2017-02-22 15:18:00秀才
日期:2017-02-22 15:16:26秀才
日期:2017-02-22 15:14:12进士
日期:2017-02-20 09:43:02举人
日期:2017-02-20 09:42:18进士
日期:2017-02-20 09:42:18
12#
 楼主| 发表于 2014-6-17 11:44 | 只看该作者
hwtong 发表于 2014-6-17 11:13
我很奇怪,你的Mysql是Latin1字符集,怎么可能存放中文呢?

远程mysql服务器,对方应该是用utf8字符集环境插入到mysql表(latin1)上的,因为我在用navicata连接mysql的时候发现要用utf8才能看到正常的汉字,如果用mysql的latin1是乱码。
所以问题就来了,我用openquery取远程mysql的时候就出现乱码 了,目前要怎么设置才能正常在sql server中正常插入并显示呢?

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
13#
发表于 2014-6-17 13:22 | 只看该作者
johny666 发表于 2014-6-17 11:44
远程mysql服务器,对方应该是用utf8字符集环境插入到mysql表(latin1)上的,因为我在用navicata连接mysql ...

也就是说你的客户端要设置了UTF8 才可以正确显示数据哈。
那你在你的SQLServer的SSMS中执行

USE [master]
GO
EXEC master.dbo.sp_serveroption @server=N'LinkServerName', @optname=N'use remote collation', @optvalue=N'true'

看是否可以正常显示数据呢

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
14#
发表于 2014-6-17 13:47 | 只看该作者
另外,你在你的Mysql中执行
show variables like 'character%';

看下返回的character_set_client,character_set_connection,character_set_results 是不是一样的。
并且是否是utf8的

使用道具 举报

回复
论坛徽章:
77
20周年集字徽章-周
日期:2020-10-28 14:51:04秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39秀才
日期:2017-02-22 15:18:00秀才
日期:2017-02-22 15:16:26秀才
日期:2017-02-22 15:14:12进士
日期:2017-02-20 09:43:02举人
日期:2017-02-20 09:42:18进士
日期:2017-02-20 09:42:18
15#
 楼主| 发表于 2014-6-18 08:47 | 只看该作者
hwtong 发表于 2014-6-17 13:47
另外,你在你的Mysql中执行
show variables like 'character%';

这三个都是latin1,只有server这个参数是utf8

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
16#
发表于 2014-6-18 09:37 | 只看该作者
johny666 发表于 2014-6-18 08:47
这三个都是latin1,只有server这个参数是utf8

我不知道设置了这三个为utf8之后会怎么样,因为我也刚开始学习Mysql。你最好去Mysql板块咨询下

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2014-6-19 20:56 | 只看该作者
SQLSEVER通过链接服务器去抓MYSQL的数据库,有着很多先天的不足,比如楼主遇到的字符集.比如超时时间,对于一个
G以上的数据,建议楼主使用SQLSERVER自主的SSIS或者SSDT(2012中的叫法).

使用道具 举报

回复
论坛徽章:
77
20周年集字徽章-周
日期:2020-10-28 14:51:04秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39秀才
日期:2017-02-22 15:18:00秀才
日期:2017-02-22 15:16:26秀才
日期:2017-02-22 15:14:12进士
日期:2017-02-20 09:43:02举人
日期:2017-02-20 09:42:18进士
日期:2017-02-20 09:42:18
18#
 楼主| 发表于 2014-6-20 10:58 | 只看该作者
冰火连天 发表于 2014-6-19 20:56
SQLSEVER通过链接服务器去抓MYSQL的数据库,有着很多先天的不足,比如楼主遇到的字符集.比如超时时间,对于一个 ...

好的,非常感谢

使用道具 举报

回复
论坛徽章:
15
生肖徽章2007版:猪
日期:2009-03-11 15:09:30优秀写手
日期:2013-12-18 09:29:11比亚迪
日期:2013-08-28 12:44:17复活蛋
日期:2013-06-19 15:03:392013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15奥运会纪念徽章:手球
日期:2012-08-28 17:54:31奥运会纪念徽章:柔道
日期:2012-08-14 16:26:23咸鸭蛋
日期:2012-08-14 16:26:232010广州亚运会纪念徽章:射击
日期:2012-08-14 16:26:23
19#
发表于 2014-6-24 18:25 | 只看该作者
本帖最后由 grantguan 于 2014-6-24 18:26 编辑

创建odbc的时候,记得选utf8就可以了,具体看附件贴图




create_new_datasrc_step3.jpg (51.64 KB, 下载次数: 39)

create_new_datasrc_step3.jpg

使用道具 举报

回复
论坛徽章:
77
20周年集字徽章-周
日期:2020-10-28 14:51:04秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39秀才
日期:2017-02-22 15:18:00秀才
日期:2017-02-22 15:16:26秀才
日期:2017-02-22 15:14:12进士
日期:2017-02-20 09:43:02举人
日期:2017-02-20 09:42:18进士
日期:2017-02-20 09:42:18
20#
 楼主| 发表于 2014-6-24 21:29 | 只看该作者
grantguan 发表于 2014-6-24 18:25
创建odbc的时候,记得选utf8就可以了,具体看附件贴图

这个设置我试过,还是乱码

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表