Пишу функцию, которая будет читать файл построчно, и эта же функция будет считывать содержимое <textarea> c помощью explode("\r\n"). Но вот незадача - в случае с файлом нужно менять кодировку, а с textarea - не нужно (там она и так UFT-8). Как правильно поступить?
$arrayOfStr = file('fileName.txt')
foreach($arrayOfStr as $key=>$str){
//Не работает...
if(mb_detect_encoding($str, array("windows-1251", "UTF-8")) !== "UTF-8"){
$arrayOfStr[$key] = iconv(mb_detect_encoding($str, "windows-1251"), "UTF-8", $str));
}
Выдает:
������ �� ��
//А так, если вместо if() выше, работает...
$arrayOfStr[$key] = trim(iconv("windows-1251", "UTF-8", $str));
Я окончательно запутался как правильно пользоваться mb_detect_encoding...
А когда делаешь:
foreach($arrayOfStr as $key=>$str){
echo mb_detect_encoding($str, array('windows-1251', 'UTF-8')) . '<br>';
}
Выдает:
UTF-8
Windows-1251
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
UTF-8
Windows-1251
UTF-8
UTF-8
Как правильно менять кодировку?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей