2011-10-10 49 views
2

我有我的PMA-GUI下面的问题:虽然正确显示提交的PHP的脚本到我的数据库中的数据UTF-8显示问题在phpMyAdmin桂

,ONLY PMA显示几位德国变音的(如äüß,..)作为那张或澶

而表导出到文件也将出现问题..

的MySQL:5.0.51a-3ubuntu5.8
PMA:3.4.5
数据库&字段为utf8_general_ci

有没有人知道解决方案?

回答

1

你确定你的客户端发送的数据是utf-8吗?

这在我看来,一个重复的:

German Umlaute in Mysql/Phpmyadmin

+0

问题是:当我在我的前端使用PHP输出表格内容时,一切正常并且编码正确。 – Micronax

+0

正如链接中所解释的那样,这很正常,因为您的客户端自己编码和解码数据。正如ErgoSummary向您解释的那样,尝试使用mysql_set_charset,在您设置连接之后并在执行任何查询之前。查看链接,所有内容都在那里解释,我不想复制答案。 –

+0

好的 - 你终于正确了!是否有自动化的方式将这些烦人的符号转换回我的变音器? – Micronax

2

您需要确保您使用一致的字符集/字符编码。

例如,要规范化为UTF-8 content,您的DB字段的字符集应设置为UTF-8。然后,在你的PHP(如果你有运行获取数据库信息,您自己的脚本),你需要再加入到头部:

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

然后,在PHP中,任何输出到浏览器之前,包括content type PHP header

header ('Content-type: text/html; charset=utf-8'); 

在你运行任何SQL来获取内容(所以在连接之后,但在执行查询之前),使用mysql_set_charset

mysql_set_charset('utf8',$link); 
// $link is optional, refers to your DB connection 

你可以把它看作是三个步骤:

  1. 使用的字符添加到您的数据库字符
  2. 存储在您的数据库
  3. 检索和文字的显示步骤

的最简单的赌注,以确保符合性和字符显示,如你所期望的,是确保在每个阶段定义正确,一致,字符集。

+0

在自己的Web接口的数据显示corrently。只有PMA接口似乎有charakter编码的问题。 – Micronax

+0

你试过执行:mysql_set_charset('utf8',$ link); ? – SW4