2014-02-23 49 views
0

的字符我无法使用重音符号在我的网站上正确显示。我的网站使用来自Excel文件的数据,将其转储到MySQL数据库中。在这个数据库中的表被设置为utf8_general_ci,我有我的头以下:显示为问号

<meta charset="utf-8"> 

当我看在phpMyAdmin中的数据,一切都看起来不错,字符显示出来。但在我的网站上,像ñ这样的字符在黑钻中显示为问号。

我真的不明白我做错了什么。任何人都知道发生了什么?

+0

请参见[UTF-8直通](http://stackoverflow.com/a/279279)。 – eggyal

回答

1

缺省地,MySQL返回拉丁语1

尝试你连接后的值设置为utf8(在PHP):

$db = mysql_connect(DB_HOST, DB_USER, DB_PASS); 
mysql_select_db(DB_NAME); 
mysql_set_charset('utf8', $db); 
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'"); 

显然,还要确保你宣布你的文件UTF8在你的脑海里:

<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
+0

感谢Vincent的建议。不幸的是,我尝试了所有这些,清空了数据库并重新加载了它,但仍然存在问题 – user2874270

1

想通了!我的数据源文件(来自excel的制表符分隔文本文件)需要以UTF-8重新保存。一旦我这样做,我就可以重新加载数据并摆脱问题