Codeigniter создать арабский слизень с результатом url_title ???????в базе данных - PullRequest
0 голосов
/ 26 апреля 2019

Я работаю над арабо-французской лексикой.

https://lexique -arabe.org

Использование последней версии Codeigniter (3.1.10).

У меня нет проблем с сохранением и просмотром арабских символов, AJAX-запросы на арабские символы работают нормально.

Но я пытаюсь создать смешанный слаг для арабо-французского лексикона.

Например, мне нужно создать

lexique-arabe.org / lexique / amour- محبة (эта ссылка еще не существует.)

Я использую url_title для генерации слага

Helper

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:

амур - ????????

???????? должны быть арабскими символами.

Если вы проверите веб-сайт, вы увидите, что нет проблем с сохранением арабских символов в базе данных.

Я думаю, что есть проблема с конфигом или функцией url_title

Конфигурация моей базы данных

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

Некоторые настройки

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

Может ли кто-нибудь мне помочь?

Спасибо

Patrice

1 Ответ

0 голосов
/ 01 мая 2019

Убедитесь, что кодировка вашей базы данных принимает арабский.

Использование SQL и инструмента управления базами данных. Попробуйте создать таблицу с текстовым столбцом.

Попробуйте вставить арабский текст в базу данных.

Убедитесь, что текст хранится на арабском языке.

Попробуйте разные клиенты базы данных, чтобы увидеть арабские текстовые данные. Иногда данные верны, но клиент / браузер / графический интерфейс не отображает правильную кодировку.

Или просто у клиента / браузера / графического интерфейса отсутствует правильный шрифт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...