mssql转为mysql乱码 解决

因为工作需要,要把mssql数据库转为mysql,有一个新闻表关键的量个字段为 title,content,title的字段类型为 varchar content的字段类型为ntext,我使用Migration toolkit转换后,结果显示为null,没有一个字符,有一个表,因为全部是英语,所以数据正常显示,后来我在administator攻击把默认的字符编码改为utf8,这个时候显示title为乱码,content列为正常。如是在修改mysql很多参数,比如用gbk,gb2312b皆无济于事。搞的我焦头烂额。当我插入汉字时,这个时候显示又是正确,这说明转换后的这个表还是支持中文的。我想应该是转换的时候,肯定是弄错了,因为content在mssql的类型是ntext是unicode编码。而varchar则不是,于是我在migration tool 连接mssql的时候 在高级选选 connection string 填上:

jdbc:jtds:sqlserver://localhost:1433/cjwz_zj;user=sa;password=sa;charset=gb2312;domain=

jdbc:jtds:sqlserver://IP地址:端口/数据库;user=用户名;password=密码;charset=gb2312;domain=

关键就是这个红色的部分,如果不写的话,我估计默认的是charset=uft8了,这样varchar当然不能直接转过去了,所以要加这个。

改天总结下数据库编码的问题。

posted @ 2009-10-25 15:11  zxlin25  阅读(416)  评论(0编辑  收藏  举报