GBK 編碼的 Destoon 站點遷移服務器後,搜尋數字/英文正常,但搜尋漢字出現亂碼或方框符號。
Apache Rewrite 重寫過程中,將 Unicode 字符自動轉換為 UTF-8,導致 GBK 環境下解碼錯誤。
找到原規則:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
修改為帶 [NU] 標記:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [NU]
NU (No Unicode conversion) 標記: 指示 Apache 不將 Unicode 字符轉換為 UTF-8,保持原始
%xx編碼格式傳遞。GBK 環境下即可正確接收並解析中文參數,徹底解決搜尋亂碼。
同理,所有涉及中文參數傳遞的 RewriteRule 均建議加上 [NU] 以兼容 GBK 編碼站點。