重音字符在浏览器中无法正常显示

时间:2012-02-14 11:52:39

标签: php sql-server

在地区表中 我有一排

district_id   district_name   country_id
15            Šahty           16       

从php中选择并在浏览器中显示时,它显示如下: ahty

我正在使用带有排序规则SQL_Latin1_General_CP1_CI_AS的mssql 2005。

问题是这样的 removing accent and special characters 但我需要php中的解决方案。

UPDATE(?): 在sqlserver中不支持UTF-8。 https://dba.stackexchange.com/questions/7346/mssql-2005-2008-utf-8-collation-charset

3 个答案:

答案 0 :(得分:1)

您好需要考虑正确的HTML内容类型标题

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

可以正确选择数据,但浏览器可能无法按预期显示。 你可以通过菜单视图在Firefox中玩这个 - &gt;字符编码 - &gt;直到找到正确的

答案 1 :(得分:0)

为了使特殊字符起作用,一般规则是所有组件必须使用相同的编码。这意味着数据库,数据库连接(连接到数据库后经常忘记'SET NAMES {charset}'调用)和网页Content-type必须全部在同一个字符集中。

如果您从latin1数据库询问数据并且数据库连接也有latin1,请确保您显示的页面值也是latin1。

建议尽管在任何地方都使用UTF-8而不是latin1,所以如果可能的话,我建议将数据库中的字符集和数据全部更改为UTF-8,因为它更全面兼容且更易于处理。

答案 2 :(得分:0)

只需删除UTF8字符集,然后让浏览器选择它将设置为ISO-8859-1的字符集,该字符集将与sql server中的重音符一起使用

相关问题