2012-02-14 77 views
2

在區表 我有一個行作爲重音字符不能正確顯示在瀏覽器

district_id district_name country_id 
15   Šahty   16  

雖然從PHP選擇在瀏覽器中顯示,它表明這樣的:ahty

我使用MSSQL分類爲SQL_Latin1_General_CP1_CI_AS。

問題是這樣的 removing accent and special characters 但我需要在PHP解決方案。 (?): 在sqlserver中不支持UTF-8。 https://dba.stackexchange.com/questions/7346/mssql-2005-2008-utf-8-collation-charset

+3

是Web服務器提供相同的字符集的HTML,或做你有''在輸出HTML中指定的字符集? – 2012-02-14 11:54:24

+0

您不需要刪除重音符,只需指示瀏覽器應如何解釋。 – Jon 2012-02-14 11:55:20

回答

1

嗨,你需要考慮正確的HTML內容類型標題

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

的數據可以被正確選擇,但如你預期的瀏覽器可能無法顯示它們。 你可以通過菜單視圖 - >字符編碼 - >在firefox中使用此功能,直到找到正確的一個

+0

他特別說他的字符集是'SQL_Latin1_General_CP1_CI_AS',這是我上次檢查的時候,不是utf8。 – 2012-02-14 11:59:13

+3

我說,正確的元頭,我提供的剪斷只是例子,不是解決方案,但確定... – rkosegi 2012-02-14 12:04:20

+1

從你的答案中不清楚,考慮添加「例如:」或類似的東西。 – 2012-02-14 12:05:52

0

爲了使特殊字符有效,一般規則是所有組件必須使用相同的編碼。這意味着數據庫,數據庫連接(連接到數據庫後經常被忘記'SET NAMES {charset}'調用)和網頁Content-type必須全部在相同的字符集中。

如果你問latin1數據庫的數據,並且數據庫連接也有latin1,請確保你顯示的值的頁面也是latin1。

儘管在任何地方都使用UTF-8而不是latin1,所以如果可能的話,我建議將數據庫中的字符集和數據全部更改爲UTF-8,因爲它更全面兼容,更易於處理。

+0

因此,無法將sqlserver 2005數據庫中的字符集更改爲UTF-8。 http://dba.stackexchange.com/questions/7346/mssql-2005-2008-utf-8-collat​​ion-charset – prayagupd 2012-02-15 04:25:20

0

只需卸下UTF8字符集,並讓瀏覽器選擇字符集將設置爲ISO-8859-1將與口音在SQL Server工作

+1

更具體將有助於這個答案 – dove 2013-02-26 16:14:36

相關問題