簡體   English   中英

在Apache中即時將生成的UTF-8內容轉換為ISO 8859-1

[英]Convert generated UTF-8 content to ISO 8859-1 on the fly in Apache

我們有一個在Apache上運行的PHP應用程序,該應用程序生成將用Excel打開的CSV文件。 內容以UTF-8編碼。 但是,Excel存在一個問題,例如無法識別字符編碼,而是顯示煩人的“Ô而不是“ö”,如本問題所述

現在,由於無法將Excel配置為正確識別UTF-8編碼,並且按此答案所述通過“外部數據導入”打開文件對我們來說是不可接受的,因此我認為可以將Apache配置為使用某種過濾器將UTF-8編碼的響應即時轉換為ISO 8859-1? 在這種情況下,我不必更改任何PHP腳本-它們將繼續產生UTF-8編碼的內容-我只需要配置Apache即可將其中一些輸出即時轉換為ISO 8859-1。生成的文件可以使用Excel輕松打開。

實際解決了這個問題:

# beginning of file
function encode($buffer) {
    return iconv("UTF-8", "ISO-8859-1", $buffer);
}

ob_start("encode");

# content generated here

ob_end_flush();
# end of file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM