【发布时间】:2010-11-15 03:53:11
【问题描述】:
我在一台 Windows 专用服务器上有旧数据库,现在我购买了一台带有 php 和 mysql 的新 linux 专用服务器。
我打算用php逐行从ms sql server中取出数据库,放到mysql数据库中。
但问题是 mysql 使用 utf8_unicode_ic,我不知道 MS SQL 服务器使用了哪个字符集。
感谢您的帮助。
【问题讨论】:
标签: mysql sql-server
我在一台 Windows 专用服务器上有旧数据库,现在我购买了一台带有 php 和 mysql 的新 linux 专用服务器。
我打算用php逐行从ms sql server中取出数据库,放到mysql数据库中。
但问题是 mysql 使用 utf8_unicode_ic,我不知道 MS SQL 服务器使用了哪个字符集。
感谢您的帮助。
【问题讨论】:
标签: mysql sql-server
您是否尝试过只运行您的代码?很可能它会“正常工作”。
以下注意事项:
您可能会在数据中遇到问题(尽管这极不可能),因为您所指的字符集实际上是一个排序规则。也就是说,它将字符串“ABCDEFGH”定义为等于“abcdefgh”。 utf8_unicode_ci 的“_ci”部分表示不区分大小写。
一些快速的谷歌搜索发现 MySQL 默认为区分大小写和重音的排序规则,这很好,因为 SQL Server 也是如此。您应该检查 SQL Server 数据库的排序规则,如果它是“SQL_Latin1_General_CP1_CI_AS”,您应该没问题。
【讨论】:
SQL Server 将基于字符的数据存储在扩展(即取决于 Windows、操作系统、服务器计算机上安装和使用的代码页/编码)非 unicode(char、varchar、text 等)类型的 ASCII 和在 unicode(nchar、nvarchar、ntext 等)类型中。我相信互联网上有很多关于这个常见问题解答主题的材料
【讨论】: