2009-08-02 106 views
2

当我输入像é或ë这样的奇怪字符并将它存储在一个mysql dbase中;该字符将转换为:©mysql中的奇怪字符dbase

它可能将不得不对我的字符集做些什么。但我现在不从哪里开始。 在页面顶部我插入:

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

领域在dBase中搭配:utf8_unicode_ci

显示领域在E和E网页的结果,但在一个textarea结果显示它们é

我该如何改变这一点?

回答

2

确保为列,表和数据库中的归类都设置为utf8_unicode_ciutf8_general_ci

你还必须记住,除了meta指令,你已经有了,提取并使用相同的编码向数据库和数据库中插入条目。

包含这一行,你所做的电话后立即连接到数据库:

mysql_query("set names 'utf8'"); 

这将使字符正确设置为UTF-8国家作为您操作,并在数据库中提取的条目。

如果你可以为下一次,have everything in UTF-8 from the very start

2

有两件事情可以做:

+0

UTF8的职能工作。 但我认为第二个选择是更好的,全球功能的原因。 我应该在哪里改变字符集?当我改变字段的搭配时,什么都不会发生。 – blub 2009-08-02 14:55:52

+1

请参阅下面的回答。 – 2009-08-02 15:01:37

1

mysql_query字符串效果很好! :)

避免奥比编码问题只是设置:

  • 元HTTP的当量= “Content-Type的” 内容= “text/html的;字符集= UTF-8”
  • UTF-8在你使用的任何mysql表的所有字符/文本字段上的general-ci
  • mysql_query(“set names'utf8'”);之后日数据库连接呼叫