mysql php多语种阿拉伯语和印地语


mysql php multilingual Arabic and hindi

我在mysql数据库中有一个字段"scroll ",排序为"utf8_unicode_ci"。我试图保存一个阿拉伯语文本到这个领域。

当我直接插入mysql时,它工作了。

使用下面的代码,我试图编辑字段。当我回显它时,它显示正确。但当它被保存使用更新其保存像"???????: 89 ?????? ?? ?阿姆里 ?????????? ?? ????????? ?? ?

echo "<meta http-equiv=Content-Type content=text/html; charset=UTF-8>";
require 'config.php';
mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8'); 
$scroller=htmlentities($_POST['scroller'],ENT_QUOTES,"UTF-8");
mb_internal_encoding("UTF-8");
echo $scroller;
    $sql="UPDATE arab_scroller SET scroller='$scroller' WHERE page='$id1' ";
    if (!mysql_query($sql,$con))
        {
            die('Error: ' . mysql_error());
        }
        header( 'Location:index.php' );

请帮我一下

我刚刚用土耳其语测试了同样的东西。如果您的表的默认排序规则不是UTF8,您可能会遇到这些问题。

请先试一下:

ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

然后尝试再次运行您的代码。

同样,用mysql_set_charset代替SET NAMES更好:http://php.net/manual/en/function.mysql-set-charset.php

您只需更改表排序utf8_general_ci默认为拉丁文;

你运行这个查询:

ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;