У меня проблемы с конвертацией utf-8. Я читаю из файла, чтобы сохранить в массиве

1

Я пытаюсь читать файл по строкам и хранить их в массиве. Но у меня есть турецкие символы в этом файле, и я пробовал все, чтобы исправить эту проблему, но результата нет.

Файл имеет такой контент, как:

  • Aksesuar ve Sarf/Pil/Taşınabilir Şarj Cihazı (PowerBank)
  • Aksesuar ve Sarf/Pil/Çinko
  • Aksesuar ve Sarf/Profesyonel Kaset/

Вы можете видеть символы Ş, ı. Я их вижу ? в массиве. Что мне делать?

Вот мой код:

 public function getCategoriesByFile($fileUrl){
            $file = fopen($fileUrl,"r");
            $lines = array();
            $last = array();
            while(! feof($file))
              {
               $line= fgets($file);
              $line = $line; 
               array_push($lines , $line);
              }

            fclose($file);

            foreach($lines as $line){
                $parsedLines[] = preg_replace("/\s+/"," ",preg_split('/;/', trim($line)));
            }
            foreach($parsedLines as $parsed){
                $parse1 = rtrim($parsed[0] , " / ");
                $parse2 = rtrim($parsed[1] , " / ");
                array_push($last,array($parse1,$parse2));
            }
            return $last;
        }

выход:

  }
  [2] => array(2) {
    [0] => string(64) "Aksesuar ve Sarf / Pil / Taşınabilir Åarj Cihazı (PowerBank)"
    [1] => string(0) ""
  }
  [3] => array(2) {
    [0] => string(31) "Aksesuar ve Sarf / Pil / Çinko"
    [1] => string(0) ""

Вам нужна помощь. Спасибо.

  • 1
    $line = $line; ? =) Вы пробовали utf8_decode () / utf8_encode () ?
  • 0
    Ахахах, это волшебная техника программирования. Никто не знает, но я знаю: D. Я пытался, но безрезультатно :(
Показать ещё 8 комментариев
Теги:
arrays
encoding

1 ответ

-1

попробуйте $line = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $line);

  • 0
    Dindnt работа. :( все еще у меня есть?
  • 0
    затем iconv («ISO-8859-1», «UTF-8», $ text); ?
Показать ещё 1 комментарий

Ещё вопросы

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