2012-07-31 62 views
0

我在通過IIS提供的ASP.net(VB)中有一個頁面。通過IIS提供後缺少(替換)的波蘭字符

該頁面基本上是英國網站的翻譯。

我:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

在代碼的頂部,所有的字符顯示的代碼行。然而,在(全部)瀏覽器中,很多特殊的波蘭字符(如'Ł')缺失,直接用'L'替換。

這是一個IIS的東西?或者它可能是別的東西?

ETA:我剛剛注意到從SQL數據庫中抽出的波蘭文本部分正在同一頁面內正確顯示。奇!


進一步編輯: 我已經找到了問題的基本來源,我想,但不是一個解決方案:即無法正確顯示在頁眉和頁腳,它們通過服務器導入頁面 的地區,側面包括。 它在此導入/注入中正在丟失某種編碼。 導入的文件是否應具有某種編碼頭?

回答

1

這聽起來像是在靜態內容文件中編碼的問題。內容類型<meta>與文件的實際物理編碼沒有關係。我懷疑該文件保存在Codepage 1252而不是UTF-8。

我建議您在支持不同編碼(如VS或Notepad2,不寫字板或Windows記事本)的文本編輯器中打開您的* .aspx文件(我假設您存儲有問題的波蘭文本)。用UTF-8編碼強制保存文件(在VS中,選擇文件>高級保存選項並確保選擇「Unicode(帶簽名的UTF-8)」)。然後再次訪問您的網站。

還要確保Content-Type HTTP標頭也正確設置爲UTF-8。

+0

看起來你非常接近David,因爲事實證明,頁眉和頁腳是根據請求導入的SSI在IIS中的.shtml文件。 這些文件是(我想)最初創建在記事本中並保存爲ANSI類型。雖然這在英文網站上運行良好,但它不適用于波蘭語字符。 所以我重新將它們保存爲UNC-8,並且都很好看。 – 2012-07-31 14:09:06