Я использую функцию Iconv для преобразования строки в запрошенную кодировку символов. Посмотрите на код ниже
$sms_text = 'A:'f3*'F'; // Output received from SMPP
$result = iconv('UTF-16BE' ,'UTF-8//IGNORE' , $sms_text);
echo 'Ignore: ' .$result;
echo $sms_text = iconv('UTF-16BE' ,'UTF-8' , $sms_text);
$result1 = iconv('UTF-16BE' ,'UTF-8//TRANSLIT' , $sms_text); //line no (53)
echo 'Transilt: '.$result1;
И я получил приведенный ниже вывод
Если у меня есть строка дари и пушту Язык , то он показывает только первое слово и не возвращает оставшуюся строку после пробела. Даже //IGNORE дает тот же результат.
Должен ли я заменить эти пробелы с помощью какого-либо другого символа, чтобы я мог получить полную строку?
Примечание. Я передаю строку, полученную от SMPP (получатель).
SMS Sent to SMPP : افغانستان کابل
Outpur Received from SMPP : 'A:'f3*'F
String back converted by iconv : افغانستان
Английская строка работает хорошо.
Заранее спасибо.