Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php和mysql重音问题_Php_Mysql - Fatal编程技术网

php和mysql重音问题

php和mysql重音问题,php,mysql,Php,Mysql,我是php新手,我制作了一个带有输入字段的php用户界面,用于制定、打印和执行显示数据库回复或错误的查询 它通常工作得很好,但当我用重音字段(如中)进行查询时 "INSERT INTO `Nave` (`Targa`, `Nazionalità`, `Nome`) VALUES('0', 'italia', 'nave0');" php成功地创建了查询,打印并执行了查询,而没有进行任何进一步的修改,但在“字段列表”中显示“未知列‘Nazionalitá’”失败 但是如果我将php打印的同一个查

我是php新手,我制作了一个带有输入字段的php用户界面,用于制定、打印和执行显示数据库回复或错误的查询

它通常工作得很好,但当我用重音字段(如中)进行查询时

"INSERT INTO `Nave` (`Targa`, `Nazionalità`, `Nome`) VALUES('0', 'italia', 'nave0');"
php成功地创建了查询,打印并执行了查询,而没有进行任何进一步的修改,但在“字段列表”中显示“未知列‘Nazionalitá’”失败 但是如果我将php打印的同一个查询复制/粘贴到phpmyadmin中,它就可以工作了(显然“Nazionalitá”列确实存在),会发生什么

请注意,如果php生成的查询没有带重音的字段,它甚至可以在php中工作。 另外请注意,我的php和mysql在处理重音方面都没有任何问题。因此它不是的副本,因为这是mysql的个别问题,我的数据库工作正常

编辑:到目前为止,所有的答案都解释了如何修复数据库,但是数据库运行良好 我不知道如何让它理解,阅读更多关于这个问题的家伙。。。 但是第二个重复的建议是非常正确的,我在这里找到了我的解决方案,我将其复制到这里,以方便那些将要访问此页面的人遇到同样的问题:“$mysqli->set_charset('put here the same charset use use in your db');”或“mysqli_set_charset($link,'charset');”
感谢您的帮助。

按照MySQL查询将数据库的字符集更改为UTF-8

ALTER TABLE Nave CONVERT TO CHARACTER SET utf8;

检查您的表列
Nazionalitá
Nazionalita
这个单词中有特殊字符
Nazionalitá
a
我不支持这一点数据库/表排序规则是什么?您可能需要首先将UTF-8传递到连接,并且不要将非ASCII字符用作列或表名称检查您的DB架构是否有正确的列名,或者是否有页面字符(UTF-8)编码?