この関数と等しいギリシャ語の2つの文をチェックしようとしています:
private function process_line_three($target_line_three,$case_line_three){
$target_line_three=trim($target_line_three);
$case_line_three=trim($case_line_three);
echo "<br/><br/>";
var_dump($case_line_three);
echo "<br/><br/>";
echo mb_detect_encoding($target_line_three);
echo "<br/><br/>";
echo mb_detect_encoding($case_line_three);
//$this->print_chars_not_equal($target_line_three,$case_line_three);
return strcasecmp($target_line_three, $case_line_three)==0;
}
次の 2 つの文字列を渡すと、次のようになります。
Line 3: case Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7==Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7
しかし、ここでは平等に失敗します..両方の文が似ているにもかかわらず、その結果でfalseを返します..なぜそうなのですか?
アップデート :
var_dump($case_line_three); string(117) "Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7"
その間、エンコーディングの問題を見つけようとしています
更新 2: 出力は次のとおりです。
string(117) "Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7"
UTF-8
UTF-8
両方の文字がutfです
ファイルに書き込むときのUPDATE 3出力:
Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7
Συνδέσου με χιλιάδες ανθρώπους Παρακολούθησε & δράσε ζωντανά 24/7