【问题标题】:Convert database font from MS SQL to mysql utf8?将数据库字体从 MS SQL 转换为 mysql utf8?
【发布时间】:2010-11-15 03:53:11
【问题描述】:

我在一台 Windows 专用服务器上有旧数据库,现在我购买了一台带有 php 和 mysql 的新 linux 专用服务器。

我打算用php逐行从ms sql server中取出数据库,放到mysql数据库中。

但问题是 mysql 使用 utf8_unicode_ic,我不知道 MS SQL 服务器使用了哪个字符集。

感谢您的帮助。

【问题讨论】:

    标签: mysql sql-server


    【解决方案1】:

    您是否尝试过只运行您的代码?很可能它会“正常工作”。

    以下注意事项:

    您可能会在数据中遇到问题(尽管这极不可能),因为您所指的字符集实际上是一个排序规则。也就是说,它将字符串“ABCDEFGH”定义为等于“abcdefgh”。 utf8_unicode_ci 的“_ci”部分表示不区分大小写。

    一些快速的谷歌搜索发现 MySQL 默认为区分大小写和重音的排序规则,这很好,因为 SQL Server 也是如此。您应该检查 SQL Server 数据库的排序规则,如果它是“SQL_Latin1_General_CP1_CI_AS”,您应该没问题。

    【讨论】:

    • 每个人都应该期待 UTF-8,不是吗?
    • 这是一个比 ASCII 更好的视觉效果,这是肯定的。
    • “MySQL 默认使用区分大小写和重音的排序规则,这很好,因为 SQL Server 也是如此”。这是错误的,MSSQL 默认排序规则是“xxx_CI_AS”,即不区分大小写(CI)和区分重音(_AS)...如果它真的是默认默认值,因为在服务器安装和数据库创建期间选择了默认值
    • 伙计,我认为您还没有完全理解我的问题。让我们举个例子。我从 MS SQL 服务器中取出一行并放入 mysql,但这不能正确显示。这就是为什么我认为可能需要转换为: iconv("what_to_put_here",'UTF-8',$row_from_ms_sql);在放入 mySql 之前
    • 你说得对,vgv8 我的意思是不区分大小写和区分重音。 tieungao,给我举个例子,说明你拉出的记录显示不正确?
    【解决方案2】:

    SQL Server 将基于字符的数据存储在扩展(即取决于 Windows、操作系统、服务器计算机上安装和使用的代码页/编码)非 unicode(char、varchar、text 等)类型的 ASCII 和在 unicode(nchar、nvarchar、ntext 等)类型中。我相信互联网上有很多关于这个常见问题解答主题的材料

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-12
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多