我在Linux服務器(PHP)和SQL Server數據庫的大網站上工作。 SQL Server數據庫使用排序規則SQL_Latin1_General_CP1_CI_AS
。將丹麥語字母存儲在SQL Server數據庫中的最佳方法是什麼?
我有一個表格(我們稱之爲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,那麼丹麥和其他特殊字符的字母最好的方式顯示在任何平臺上正確的方法是什麼?
如果您遇到Latin1數據庫字符集,請使用HTML實體? – halfer 2015-02-07 08:58:09
嗯,問題可能是PHP'json_'函數需要UTF-8,所以你需要在字符集之間進行轉換,或者避免使用這些函數。 – halfer 2015-02-07 09:02:30