我有一个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
- 标头('Content-type:text.html;charset=utf-8')
数据库及其表被编码为utf8_general_ci。
现在,例如:
- 如果我以RequestPage的形式输入单词"Cantu",resultsPage将执行查询,并向我显示DB中每个带有单词"Cantú"的条目,对我来说它是OK的
- 如果我以RequestPage的形式输入单词"Cantú",resultsPage将执行查询并不显示任何行,但我想查看带有单词"Cantú"的行
有什么建议吗?
我已经解决了在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);