php文件字​​符编码,mysql数据库字符编码,特殊字符

时间:2014-10-26 15:10:34

标签: php mysql utf-8 character-encoding non-ascii-characters

我有一个带有一些特殊字符的mysql数据库,一个输入表单,一些php页面。

  • 在我的第一个php页面(requestPage)中,我有输入表单。

  • 此页面(通过GET)将参数发送到其他php页面(ResultsPage)。

  • 最后这个php页面(ResultsPage)将带有参数的查询发送到dbms并显示结果。


RequestPage编码为utf-8到

  • meta http-equiv =“Content-Type”content =“text / html; charset = utf-8

ResultsPage编码为utf-8至

  • meta http-equiv =“Content-Type”content =“text / html; charset = utf-8
  • header('Content-type:text / html; charset = utf-8');

数据库及其表格编码为utf8_general_ci。


现在,例如:

  • 如果我以RequestPage的形式输入单词“Cantu”,resultsPage会执行查询并向我显示DB的每个条目,单词“Cantù”,对我来说就OK了。
  • 如果我以RequestPage的形式输入单词“Cantù”,resultsPage会执行查询并显示没有行,但我想看到带有“Cantù”字样的行!

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了在php resultsPage文件中添加此字符串的问题:

mysql_query("SET character_set_results = 'utf8', character_set_client='utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $connection);

显然必须在此字符串之后插入:

$connection = mysql_connect($servername,$username,$dbpassword);