На веб-сервере у меня есть php-скрипт, который анализирует файл .sql (который хранится непосредственно на сервере) и выполняет запросы к базе данных mysql. У меня много французских персонажей, которые плохо вставляются: é становится Ã ©.
Когда я открываю файл sql с помощью notepad ++, я вижу, что кодировка «uft-8 без BOM».
Мой скрипт выглядит так:
$handle = fopen("test.sql", "r") or die("couldn't get handle");
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle, 4096);
if (strlen ( $buffer ) < 3 ) // if we have a blank line
{
mysql_query($query);
$query = $buffer;
sleep(0.5);
}
else
{
$query .= $buffer;
}
}
mysql_query($query); // last insert
fclose($handle);
}
Когда я открываю базу данных через phpmyadmin, я вижу, что специальные символы уже сломаны сразу после выполнения скрипта.