� персонаж из ldap

1

Я получаю некоторые странные символы из ldap-сервера, когда я ищу какое-то значение user.if для пользователя. Это значение содержит турецкие символы, такие как "ç", он заменяет " ". В этой ситуации я конвертирую строку в utf-8, чем str_replace, чтобы исправить ее. Моя функция в том, что;

 function utf8char($str) {     
    $search = array('Ý','ý', 'þ' ,'Þ' ,'ð','Ð');
    $replace = array('İ' ,'ı' ,'ş','Ş','ğ','Ğ');
    return str_replace($search, $replace, $str);
}

Но иногда это вызывает некоторые проблемы, поэтому мне нужно определить, содержит ли строка символ " ", чтобы исправить ее. Strpos не работает. Кто-нибудь может что-то сказать об этом? И что это за чертовщина, я был бы рад, если кто-нибудь сможет объяснить...

Изменение: Вот мой фрагмент кода;

$name = $ldapHandler->get_user_info('username')['name'];
echo $name;
echo utf8_decode($name);
echo mb_convert_encoding($name,'utf-8');
echo utf8char(mb_convert_encoding($name,'utf-8'));

и вывод этого кода;

Bilgi ��lem Daire Ba�kanl���
Bilgi ?lem Daire Ba?kanl??
Bilgi Ýþlem Daire Baþkanlýðý
Bilgi İşlem Daire Başkanlığı (this is the correct string)
  • 0
    Какая у вас кодировка по умолчанию? А какая у тебя PHP-версия? Похоже, вы получаете кодированные данные ISO-8859-9 и пытаетесь вывести их в формате UTF-8. Что дает echo utf8_encode($name) ?
  • 0
    Если я могу положиться на mb_detect_encoding ($ name), запись идет с UTF-8, а utf8_encode ($ name) возвращает Bilgi? lem Daire Ba? kanl ??
Показать ещё 1 комментарий
Теги:
ldap
utf-8
character

1 ответ

-1

используйте utf8_encode(), сохраняя его в db. и в то время, когда вы используете utf8_decode().

  • 0
    я ничего не храню, я только извлекаю и показываю некоторые записи ... я отредактировал свой вопрос с вашим ответом.
  • 0
    может помочь и декодирование в UTF-8 и из него без знания того, что происходит в фоновом режиме. Но в большинстве случаев это еще хуже. Вы всегда должны пытаться найти причину того, что происходит, чтобы потом это исправить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню