Codeigniter使用url_title结果创建阿拉伯弹头在数据库中

时间:2019-04-26 10:44:57

标签: codeigniter arabic slug

我正在研究阿拉伯语-法语词典。

https://lexique-arabe.org

使用最新版本的Codeigniter(3.1.10)。

保存和查看阿拉伯字符没有问题,对阿拉伯字符的AJAX请求工作正常。

但是,我尝试为阿拉伯-法国词典创建混合子弹。

例如,我需要创建

lexique-arabe.org/lexique/amour-محبة(此链接尚不存在。)

我使用url_title生成了子弹

助手

function setSlug($string){
    $string = convert_accented_characters($string);
    return url_title($string, 'dash', true);
}

控制器

$string = $mot->fr.' '.$mot->ar;
$slug = $this->db_utils_lib->stripAccents(setSlug($string));

在数据库中,字段slug的结果:

爱情-????????

????????应该是阿拉伯字符。

如果您检查网站,则可以看到数据库中保存的阿拉伯字符没有问题。

我认为config或url_title函数有问题

我的数据库配置

'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',

一些配置

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

有人可以帮我吗?

谢谢

Patrice

1 个答案:

答案 0 :(得分:0)

确保您的数据库编码接受阿拉伯语。

使用SQL和数据库管理工具。尝试创建带有文本列的表格。

尝试将阿拉伯文本插入数据库中。

确保文本存储为阿拉伯语。

尝试使用其他数据库客户端查看阿拉伯文本数据。有时数据是正确的,但是客户端/浏览器/ GUI无法呈现正确的编码。

或者只是客户端/浏览器/ GUI缺少正确的字体。