Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
希腊字符在数据库中显示不正确-html、php、mysqli_Php_Html_Mysqli_Utf 8_Phpmyadmin - Fatal编程技术网

希腊字符在数据库中显示不正确-html、php、mysqli

希腊字符在数据库中显示不正确-html、php、mysqli,php,html,mysqli,utf-8,phpmyadmin,Php,Html,Mysqli,Utf 8,Phpmyadmin,我的数据库有排序规则utf8通用ci[我还尝试了希腊通用ci,结果更糟] 当我直接通过phpMyAdmin插入一行希腊值时,它会显示在我的html页面上,如下所示:“??” 当我在html表单中插入一行时,它会正确地显示在html结果页面上,但在phpMyAdmin上看起来是这样的:“ÎœÎΔ 我可以处理这个问题,因为我只是为了一个大学项目,所以我可以通过html表单插入所有行,但我真的很好奇为什么会发生这种情况 在我的html文件中,我有 当我有标题('Content-Type:text/

我的数据库有排序规则
utf8通用ci
[我还尝试了
希腊通用ci
,结果更糟]

当我直接通过phpMyAdmin插入一行希腊值时,它会显示在我的html页面上,如下所示:“??”

当我在html表单中插入一行时,它会正确地显示在html结果页面上,但在phpMyAdmin上看起来是这样的:“ÎœÎΔ

我可以处理这个问题,因为我只是为了一个大学项目,所以我可以通过html表单插入所有行,但我真的很好奇为什么会发生这种情况

在我的html文件中,我有
当我有
标题('Content-Type:text/html;charset=utf-8')
在我的php文件中,它严重干扰了我的页面,所以我不能包含它。还尝试包括
$mysqli->set_字符集(“utf8”)但仅出现错误


我也检查过了,但我们没有同样的问题。但是,我是否应该更改httpd.conf文件?

首先检查表的排序规则。它没有链接到数据库排序规则。 您的表排序规则也应该是utf8通用ci

<? header('Content-Type: text/html; charset=utf-8'); 
$mysqli->set_charset("utf8"); ?>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

当所有这四个设置都处于活动状态时; 您应该能够成功插入、更新或读取UTF-8插入的数据

我猜您的问题是因为您的旧数据没有utf-8编码。 您应该创建一个批处理脚本

  • 它从表中选择所有数据
  • 使用
    mb\u convert\u编码将其转换为utf-8
  • 并更新了旧数据

  • 修复您的数据。

    谢谢您的回答。您的第一个建议不起作用,我将很快尝试批处理脚本。