dongye8110 2016-08-20 09:18
浏览 68

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

I have a directory "Dir1" that contains n directories which were named with non latin characters I got the names of these directories by scandir

$allDirs =  scandir( ARCHIVE_DIR) ;
foreach( $allDirs as $dir){.....}

and I want to comapre each dir name with strings I have but the comapre return false I tried

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

AND

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

AND

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

AND

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

When I tried mb_detect_encoding($dir)

mb_detect_encoding("أخبار") 

both of them returned utf-8 I'm not sure what is the issue here when I tried to print them to log via

file_put_contents( "n.log" ,$dir."--"."أخبار" ."
", FILE_APPEND  ) ;

it print identical strings !!!! but the compare always fail how to fix that ?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了