非拉丁字符串comporsion与不同的编码

时间:2016-08-20 09:18:37

标签: php character-encoding arabic

我有一个目录" Dir1"包含以非拉丁字符命名的n个目录 我通过scandir

获取了这些目录的名称
$allDirs =  scandir( ARCHIVE_DIR) ;
foreach( $allDirs as $dir){.....}

我希望用我拥有的字符串来拼写每个目录名称 但是comapre返回false 我试过了

 if(  $dir  ==  "أخبار"   )

if( utf8_encode ( $dir  ) === utf8_encode( "أخبار" )  )

strcmp ( $dir , "أخبار" )

mb_strpos( $dir , "أخبار" )

当我尝试的时候  mb_detect_encoding($dir)

mb_detect_encoding("أخبار") 

他们都返回了utf-8 我不知道这里有什么问题 当我试图通过

打印它们时
file_put_contents( "n.log" ,$dir."--"."أخبار" ."\r\n", FILE_APPEND  ) ;

它打印相同的字符串!!!! 但比较总是失败 如何解决这个问题?

0 个答案:

没有答案