У меня есть текстовый файл, где, если я открываю с помощью стандартного текстового редактора в виде блокнота или scite, я могу читать строки, подобные этим:
Artist1 – Title 1
Artist2 – Title 2
Чем я открываю его с помощью моего PHP-скрипта и читаюстроки:
$tracklistFile_name=time().rand(1, 1000).".".pathinfo($_FILES['tracklistFile']['name'], PATHINFO_EXTENSION);
if(((pathinfo($tracklistFile_name, PATHINFO_EXTENSION)=='txt')) && (move_uploaded_file($_FILES['tracklistFile']['tmp_name'], 'import/'.$tracklistFile_name))) {
$fileArray=file('import/'.$tracklistFile_name, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$fileArray=array_values(array_filter($fileArray, "trim"));
for($i=0; $i<sizeof($fileArray); $i++) {
echo $fileArray[$i]."<br />";
}
}
и ... ВАУ ... я получаю этот результат:
Artist1 � Title1
Artist2 � Title2
???Что это за символ?Я думаю, что кодировка не удалась.Символы настолько неверны, что я не могу вставить их в базу данных, ни с mysql_real_escape_string()
.На самом деле я получаю эту ошибку при попытке вставить их:
Incorrect string value: '\x96 Titl...' for column 'atl' at row 1
Как я могу решить эту проблему?Предложения?
РЕДАКТИРОВАТЬ
Попытка добавить utf8_encode () перед вставкой / добавлением этих строк: теперь вставка не завершается ошибкой, но результат:
Artist1 Title1
Artist2 Title2
Так что я потерял информацию.Почему?