Cakephp:如何将阿拉伯语保存到mysql表中?

3
我正在处理一个项目,需要保存像 first_name、last_name 这样带有阿拉伯字符的字段。表单可以正确提交其他字段,但是这些字段不能正常提交。
我直接将阿拉伯语保存在数据库表中,但仍然显示为 ???? 而不是原始词语。
我使用的 Charset 是 utf8,Collation 是 utf8_unicode_ci,并将其应用到这些字段上。 同时,在头部添加了 标签。
我认为这可能是 Cakephp 的某些配置问题,因为数据库看起来没问题。 我尝试过一些方法,但还没有解决这个问题。
<h1 lang="ar"><?php echo $user['User']['first_name_ar']; ?></h1>

这是我的database.php文件。
public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => '************',
        'database' => 'projectimpossible',
        'prefix' => '',
    );

感谢您的提前帮助。

数据库使用了哪种排序规则? - Sadikhasan
Latin1_swedish_ci,但我可以看到直接保存的表中有阿拉伯字母。 - design
1
使用 utf8_unicode_ci 并尝试。 - Sadikhasan
请添加您的database.php文件。 - Moyed Ansari
1个回答

3

看起来你在 Config 文件夹下的 database.php 中定义的数据库配置是不正确的。这里编码应该也是 utf8。

public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => '************',
        'database' => 'projectimpossible',
        'prefix' => '',
        'encoding' => 'utf8',
    );

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接