Php MySQL数据库中的数据不存在';无法在网站中正确显示

Php MySQL数据库中的数据不存在';无法在网站中正确显示,php,mysql,unicode,utf-8,Php,Mysql,Unicode,Utf 8,我想把一个英文网站翻译成波斯语。我面临的问题是: 网站是用拉丁Unicode加载的,所以我不得不将字符集改为utf-8,这样内容才能正确地用波斯语显示 MySQL数据库中的数据未正确显示在网站中,这可能是Unicode问题的原因 我所做的: <?php ini_set('default_charset','utf-8'); header('Content-type: text/html; charset=utf-8'); ?> 请提前多谢假设您已将表中的数据正确转换为UTF-8(仅

我想把一个英文网站翻译成波斯语。我面临的问题是:

  • 网站是用拉丁Unicode加载的,所以我不得不将字符集改为utf-8,这样内容才能正确地用波斯语显示
  • MySQL数据库中的数据未正确显示在网站中,这可能是Unicode问题的原因
  • 我所做的:

    <?php ini_set('default_charset','utf-8'); header('Content-type: text/html; charset=utf-8'); ?>
    

    请提前多谢

    假设您已将表中的数据正确转换为UTF-8(仅更改字符集是不够的),听起来您可能会遇到连接未设置为UTF-8的问题。查看
    设置名称
    ,更具体地说


    如果您不确定是否已将数据转换为UTF-8,我将查看并确保您已按照步骤操作。

    对不起,我的回答不够清楚。我几乎睡着了。数据库是空的,因此我不必转换任何内容,但当我将数据插入数据库时,数据显示不正确。顺便说一句,我不擅长php或mysql;我读了几个小时这些文章和建议,我只是越来越困惑。你能告诉我应该在哪里输入密码和什么密码吗

    $link = mysql_connect("localhost","UserName","Password") or die(mysql_error());
    mysql_set_charset("utf8",$link);
    mysql_select_db("DataBase Name") or die(mysql_error());
    
    我想我从这些文章中发现的是,当服务器尝试连接到db时,我在上面的代码中添加了
    mysql\u set\u字符集(“utf8”,$link)
    部分,但我已经尝试过了,但它不起作用。我的网站使用的内容包括:

    include("../../config/config.php");
    $connect = mysql_connect("$db_host", "$db_user", "$db_pass")or die(mysql_error());
    mysql_set_charset("utf8",$link);
    

    确保数据库和表的
    字符集
    排序规则
    设置为
    utf8\u general
    类似的情况可能重复的事实是表是空的,我没有要转换的数据如果表是空的,他们的数据怎么会在您的网站上显示不正确?我想我已经在下面的答案中尽可能地解释了。首先,您需要将上面的
    $link
    更改为
    $connect
    。您还需要确保HTML中也有
    ,否则它可能无法正常工作。我知道,这里的函数正在调用另一个函数(描述$db的函数,在该函数中,我添加了以下两行:mysql\u query(“SET NAMES'utf8”);mysql\u query(“SET CHARACTER SET utf8”);但在数据库中写入的问题仍然存在,但它读取数据库的方式正确。我还将所需的元标记添加到了标题中,网站的波斯语加载效果非常好,但问题在于脚本保存和读取数据库中的数据,脚本甚至读取数据,我手动输入数据库很好,但他们正在将数据保存到数据库中,作为拉丁语1。因此,当我在shoutbox模块中输入波斯语时,它将数据保存到数据库中,作为Ø;³;Ù;?Ø;§;Ù;?哦,它将数据保存为HTML转义格式?这不仅仅是字符集出错。您的系统中是否调用了
    htmlentities
    代码?噢!是的,我有函数页($value){$page=mysql\u real\u escape\u string(stripslashes(htmlentities($value));返回$page;}函数条($value){$value=mysql\u real\u escape\u string(stripslashes(htmlentities($value));返回$value;}
    include("../../config/config.php");
    $connect = mysql_connect("$db_host", "$db_user", "$db_pass")or die(mysql_error());
    mysql_set_charset("utf8",$link);