可能是重复问题:
完全使用UTF-8编码
我已经尝试了很多方法,但仍然无法解决问题。
要在phpMyAdmin和HTML页面中显示相同的名称,需要什么条件?这是否可以实现?
编辑1:看起来这是一个mysql问题。为什么?因为由php生成的html页面将始终显示正确的字符。此时只有数据库显示不正确。
编辑2:澄清一下。按照以下代码片段和图像中显示的原始设置,
- 输入João并提交
- 数据库中显示João
- 重新加载后显示João
添加 mysqli_query ( $link, 'SET NAMES utf8' )
- 输入João并提交
- 数据库中显示João
- 重新加载后显示Jo�o
结束编辑2
在使用phpMyAdmin查看的mysql数据库中:![database structure](https://istack.dev59.com/jNqKe.webp)
编码: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我尝试将列排序更改为utf8_bin、utf8_general_ci、utf8_unicode_ci,但对两边都没有任何改变。还将文档(BBEdit)从UTF-8更改为UTF-8 (带BOM),ISO Latin 1和Windows Latin 1。其中一些创建了更多的黑色钻石,使问题变得更加严重。(在图像中设置为UTF-8) 我甚至尝试用编码等效物替换ã、é等。
简而言之,João输入到页面上(上面是内容类型),数据库中是João,在刷新时,João出现在html页面上。
寻找想法。谢谢。