如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2020年4月10日

[繁簡中文並存問題]PHP Web應用系統繁簡中文並存問題研究

作者: Fred F.M. Wang (FW知識瑣記) 日期:2020/4/10

PHP Web應用系統無法繁簡中文並存的問題,陸續花了一些時間研究,下面是幾個結果!
一 檔案
我上網研究了一下,在PHP Web應用系統上傳簡體檔名的附件檔名會變成亂碼的,答案是無解。
PHP 將Big5檔名(繁體)的檔案存入到Windows檔案系統(繁體中文版)沒有問題,而對包含簡體字的Unicode(UTF-16)檔名的檔案,要存入到Windows檔案系統(繁體中文版)
,則無法處理。
註:php 7.1 才支援Unicode(UTF-16)
如果要解決這個問題,其實可以繞過編碼問題,透過設計的手法解決,請參考我的另一篇PO文: 
[繁簡中文並存問題]網頁應用上傳檔案檔名變成亂碼的解決方法 
 
二 SQL Server資料庫
一篇微軟官網的文章"說明SQL Server 中儲存 UTF-8 資料", 
提到"某些應用程式 (特別是 Web 應用程式) 必須處理以 UTF-8 編碼方法所編碼的 Unicode 資料會有
問題,因為SQL Server使用Unicode 編碼方式 (UCS-2),無法將 UTF-8 識別為有效的字元資料。
PHP Web應用系統 讀入鼎新ERP中的簡體中文資料無法轉換UTF-8編碼,顯示在PHP Web應用系統
上。
註:SQL Server 2019才支援UTF-8

三 mySQL資料庫
改用mySQL資料庫,繁簡中文都可以輸入與存取

所以如果使用PHP 7.1以前的版本,資料庫用SQL Server 2019以前的版本,PHP Web應用系統要完
全繁簡並存,是做不到的

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)