我在Linux服务器(PHP)和SQL Server数据库上的大型网站上工作。
SQL Server数据库使用排序规则SQL_Latin1_General_CP1_CI_AS
。
我有一个表(我们称之为table1
),它存储了许多通过PHP脚本(script1)从nominatim中选择并存储在table1中的地址。看起来地址的格式是HTML。从table1
中选择丹麦字母(æøå)在网站上看起来很好。
但是我制作了一个PHP脚本(script2)来选择这些地址并将它们转储到同一个MS SQL Server上的另一个表(table2
)中(仍然是排序规则SQL_Latin1_General_CP1_CI_AS
)。但是从table2
中选择丹麦字母在网站上看起来很奇怪。当script1从nominatim获取地址时,它采用JSON格式,然后进行解码。
$addressdetails = json_decode ( $addressdetails, true );
此处没有其他编码或解码。
以下也可能是一种帮助。当我运行phpinfo()
时,我可以看到服务器具有以下设置:
PHP version 5.3.3
content type: text/html; charset=UTF-8
在PHP和SQL Server中处理字母的最佳方法是什么,所以丹麦语和其他特殊字母在任何平台上都以正确的方式显示?