可能重复:
一直到 UTF-8
搜索高和低的解决方案。在发布问题之前,我已经尝试了很多变体。
什么要求名称在 phpMyAdmin 和 html 页面中显示相同?这甚至可以实现吗?
编辑1:这似乎是一个mysql问题。为什么?因为 php 生成的 html 页面总是会显示正确的字符。此时只有数据库显示不正确。
编辑2:澄清。使用下面的代码片段和图像中显示的原始设置,
- 输入 João 并提交
- João 显示在数据库中
- 重新加载后若昂显示
添加mysqli_query ( $link, 'SET NAMES utf8' )
- 输入 João 并提交
- João 显示在数据库中
- 重新加载后显示 Jo�o
结束编辑 2
在 mysql 数据库中,用 phpMyAdmin 查看:
这些项目出现在数据库中是这样的:(我已经修改了第一个 João 以使其在数据库中显示正确)
并且在带有编码设置的 html 页面中,名称看起来像(顺序相反,修改后有黑色菱形),
编码:<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)我什至尝试用编码的等价物 preg_replace ã、é 等。
简短的故事是,在页面上输入了 João(上面的内容类型),João 在数据库中,并且 João 在刷新时来到 html 页面。
寻找想法。谢谢。