0

我已经使用 Microsoft SQL 服务器迁移助手将 mysql 数据库迁移到 mssql 2008,但仍然面临编码问题。

有没有办法读取每一行并将 unicode 转换为 UTF-8 或 windows-1252 ?

我正在使用以下功能:

Private Function GetDataWithArabic(ByVal srcData As String) As String
    Dim iso As Encoding = Encoding.GetEncoding("windows-1252")
    Dim unicode As Encoding = Encoding.[Default]
    Dim unicodeBytes As Byte() = iso.GetBytes(srcData)
    Return unicode.GetString(unicodeBytes)
End Function

数据如下所示,假设显示阿拉伯语文本:

ÇáãÌäÏÉ ÇáÅÓÑÇÆíáíÉ: ÓÃÓÊãÊÚ ÈÞÊá ÇáÚÑÈ æÐÈÍåã

下面是从原始 mysql 数据库了解编码的快照:

如果存在则删除表6rp2_on;/*!40101 SET @saved_cs_client = @@character_set_client /; / !40101 SET character_set_client = utf8 /; 创建表6rp2_on( sessionchar(100) NOT NULL DEFAULT '', timeint(11) NOT NULL DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=latin1; / !40101 SET character_set_client = @saved_cs_client */;

--

-- 为表转储数据6rp2_on

锁定表6rp2_on写入;/*!40000 更改表6rp2_on禁用键/; 插入6rp2_on值('',1381695068);/ !40000 ALTER TABLE6rp2_on启用键 */; 解锁表;

4

1 回答 1

0

Microsoft SQL Server 以不同方式读取数据。您必须检查 MS SQL 服务器使用的数据格式类型,尤其是阿拉伯语,然后在传输之前确保要传输的数据采用该格式。查看这篇文章了解更多信息:

http://blogs.msdn.com/b/ssma/archive/2011/04/29/converting-from-mysql-to-sql-server-working-with-data-types.aspx

转到此部分:

使用字符集映射控制 MySQLVARCHAR到 SQL Server的转换VARCHAR/NVARCHAR

于 2013-11-13T03:40:16.537 回答