7

将丹麦语字符插入 sql server 到具有 nvarchar 数据类型的字段时,丹麦语字符格式错误。示例: brændstof 被转换为 brændstof。当它直接来自 sql server 查询窗口时,它工作正常。我尝试为该字段提供不同的排序规则(Latin1_Genaral、Danish_Greenlandic_100_CI_AI、Danish_Norwegian_CI_AI 等)有没有办法实现这一点。我正在使用Microsoft Drivers 3.0 for PHP for SQL Server。请帮忙

4

4 回答 4

2

而不是文字 'æ',使用它的 CHAR 等价物,看看会发生什么。

于 2013-03-07T13:30:17.623 回答
2

我现在不知道丹麦字母怎么样,但我在 SQL SERVER 中遇到了亚美尼亚语的问题。我这样解决了这个问题。

insert into sometable(field) values( N'myArmenianText' );
于 2013-03-07T13:47:10.680 回答
2

我使用了一种解决方法,只是在插入表格之前对丹麦字符串进行了 html 编码,并且在显示时刚刚解码回来

于 2013-03-08T10:25:24.490 回答
1

就像这里的猜测一样:

我认为问题出在 PHP 部分,而不是 MySQL 部分(我读到您为该字段使用了一些专门针对丹麦语的编码)。甚至更早。曾经尝试在 HTML 页面上放置一个 'ä'(真正的字符,而不是ä)?它会转换为其他一些字符,例如您问题中的示例。所以我在这里看到了两种可能性:

  • 用户输入的 URl 编码不正确
  • PHP 使用了一些不支持丹麦语字符的编码。

或者可能是 3 和 4(不太可能):

  • 字符错误地到达客户端(如果您将一些字符重新发送到服务器,我不知道是否是这种情况)
  • 用户代理转换字符,从而将格式错误的字符发送到服务器(或显示错误,这意味着正确的字符在服务器上,但您无法使用浏览器查看它们)
于 2013-03-07T13:40:42.207 回答