【问题标题】:Inserting Danish characters to sql server from PHP从 PHP 将丹麦语字符插入到 sql server
【发布时间】:2013-03-07 13:21:45
【问题描述】:

将丹麦语字符插入 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。请帮忙

【问题讨论】:

标签: php sql-server sql-server-2008-r2


【解决方案1】:

不要使用文字“æ”,而是使用它的 CHAR 等效项,看看会发生什么。

【讨论】:

    【解决方案2】:

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

    insert into sometable(field) values( N'myArmenianText' );
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        就像这里的猜测:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-25
          • 2023-03-23
          • 1970-01-01
          相关资源
          最近更新 更多