Bu beni deli ediyor.
Ben foo.txt utf8 kodlanmış adında bir dosya var diyelim:
aoeu
qjkx
ñpyf
Ve ben bütün harfleri aoeuñpyf var dosyada satırları (dizin başına bir satır), ve bu harflerle, yalnızca satırları içeren bir dizi almak istiyorum.
Ben (de utf8 olarak kodlanmış) aşağıdaki kodu yazdı:
$allowed_letters=array("a","o","e","u","ñ","p","y","f");
$lines=array();
$f=fopen("foo.txt","r");
while(!feof($f)){
$line=fgets($f);
foreach(preg_split("//",$line,-1,PREG_SPLIT_NO_EMPTY) as $letter){
if(!in_array($letter,$allowed_letters)){
$line="";
}
}
if($line!=""){
$lines[]=$line;
}
}
fclose($f);
However, after that, the $lines
array just has the aoeu line in it.
This seems to be because somehow, the "ñ" in $allowed_letters
is not the same as the "ñ" in foo.txt.
Also if I print a "ñ" of the file, a question mark appears, but if I print it like this print "ñ";
, it works.
How can I make it work?