2010-01-25 40 views
1

我有一個URL重定向到我的主站點上的頁面。出於某種原因,當我通過重寫的URL訪問時,TM符號顯示爲?,但是當我通過主站點訪問時,它顯示正確。TM符號在重定向的URL上無法正確顯示

的網址是http://waterlessmilkwarmer.com/http://www.medelabreastfeedingus.com/milk-warmer所以你可以看到發生了什麼。他們都在查看完全相同的頁面(第一個url重定向到第二個)。看看頁面標題(「介紹第一個也是唯一的......」),看看發生了什麼。

該網站在.NET上運行,該頁面標題正在存儲並直接從數據庫中拉出。它上面有HTMLEncode調用,但是當我刪除它們並直接從數據庫中顯示它時,它仍然執行相同的操作。

我猜重定向的URL都有事做,但我不知道是什麼。有沒有人看過這個,知道會發生什麼?

+0

你究竟做了什麼重定向?它不是一個http 3xx重定向,因爲來自http://waterlessmilkwarmer.com/的響應狀態碼是200.在我看來,TM符號(UTF-8中的HE符號E2十六進制,正如在http:// www .medelabreastfeedingus.com/milk-warmer)獲得雙重編碼:http://waterlessmilkwarmer.com/,它是十六進制C3 A2 C2 84 C2 A2。 – 2010-01-25 20:01:08

回答

0

事實證明,數據庫中TM符號存在問題。一旦它被刪除並重新加入,一切似乎都可以正常工作。

1

我不知道爲什麼會發生這種情況(絕對很奇怪),但我注意到您使用的是實際字符,而不是HTML編碼版本™,無論哪種方式都行不通。

3

如果你看看Firefox的頁面屬性,這兩個頁面的渲染模式是不同的。

medelabreastfeedingus.com - >符合標準模式
waterlessmilkwarmer.com - >怪癖模式

嫌疑這是什麼原因造成的差異。 <base href="http://www.medelabreastfeedingus.com/" />標記可能會觸發不同的呈現模式,該標記在<html>標記之外呈現,也可能在<DOCTYPE>標記之前呈現 - 我的HTML驗證程序認爲doctype標記不能出現在其他元素之後。

您可以嘗試使用HTML實體(&trade;將呈現爲™) - 這應該在兩種模式下都可以使用。

+0

我懷疑有故障的使用''(應該是在'',而不是在文檔的開始)也可能會導致瀏覽器忽略''在字符集聲明。國際海事組織更好地解決這個問題,而不是求助於HTML實體引用(畢竟還有其他的Unicode字符可以使用)。 – bobince 2010-01-25 19:28:33

+0

是的,我同意。我驗證了重定向的頁面,還有幾個其他問題看起來像是由於'base'標籤位於錯誤的位置。 – adrianbanks 2010-01-25 19:31:10