Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我在转换utf-8时遇到问题。我正在从文件中读取以保留在数组中_Php_Arrays_Encoding - Fatal编程技术网

Php 我在转换utf-8时遇到问题。我正在从文件中读取以保留在数组中

Php 我在转换utf-8时遇到问题。我正在从文件中读取以保留在数组中,php,arrays,encoding,Php,Arrays,Encoding,我试图逐行读取文件,并将它们保存在数组中。但我在那个文件中有土耳其字符,我尝试了所有方法来解决这个问题,但没有结果 该文件包含以下内容: Aksesuar ve Sarf/Pil/TaşınabilirŞarj Cihazı(电力银行) Aksesuar ve Sarf/Pil/CHINKO Aksesuar ve Sarf/Profesyonel Kaset/ 您可以看到Ş,ı字符。我将它们视为数组中的?。我该怎么办 这是我的密码: public function getCategori

我试图逐行读取文件,并将它们保存在数组中。但我在那个文件中有土耳其字符,我尝试了所有方法来解决这个问题,但没有结果

该文件包含以下内容:

  • Aksesuar ve Sarf/Pil/TaşınabilirŞarj Cihazı(电力银行)
  • Aksesuar ve Sarf/Pil/CHINKO
  • 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) ""

需要你们的帮助。谢谢。

试试
$line=iconv('UTF-8','ASCII//TRANSLIT//IGNORE','$line)

$line=$line?=)你试过/?哈哈,这是一种神奇的编程技术。除了我,没人知道。我试过了,但没有结果:(在您正在读取的文件中,它们是否正确编码?只是在使用它们中断的函数时?@sj_magentoin notepad在“编码”选项卡上选择了“UTF-8编码”我在上面使用这个函数的文件也是选择utf-8的。你如何看待这个结果?我认为PHP的输出是非常好的,只是你用来查看输出的任何东西都不能正确处理utf-8。没有更多,也没有更少。那么iconv(“ISO-8859-1”,“utf-8”,“$text”)?