проблема базы данных с арабским кодированием

У меня есть веб-сайт WordPress и по какой-то причине все значения записей на арабском языке изменяются, чтобы быть таким موقع الطب النÙسي хотя база данных и ее таблицы сортировки utf8mb4_unicode_ciЧтобы решить эту проблему, я решил сделать скрипт, чтобы выбрать все записи из каждой таблицы, а затем iconv каждое значение должно быть, например, что-то вроде этого عنوان باللغة العربية,

Теперь проблема, я перепробовал все, и это не работает для меня

    header('Content-Type: text/html; charset=utf-8');

$sql['host']        = "localhost";
$sql['username']    = "root";
$sql['password']    = "";
$sql['database']    = "nafsynet_database";

$connection = mysqli_connect($sql['host'], $sql['username'], $sql['password'], $sql['database']);

if (!$connection) {
$out .= "Error: Unable to connect to MySQL." . PHP_EOL;
$out .= "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
$out .= "Debugging error: " . mysqli_connect_error() . PHP_EOL;

echo $out;

die();
}

$sql    = "SELECT * FROM `nfsy_options` WHERE 1 LIMIT 10";
$result = mysqli_query($connection, $sql);
$rows   = mysqli_fetch_all($result,MYSQLI_ASSOC);

foreach($rows as $row) {
$text =  $row['option_value'];

echo iconv('windows-1256', 'utf-8',$text);echo'<br>';
}

mysqli_close($connection);

1

Решение

Вам также необходимо указать кодировку utf8 для подключения к базе данных, позвонив mysqli_set_charset

$connection = mysqli_connect($sql['host'], $sql['username'], $sql['password'], $sql['database']);

if (!$connection) {
// ..
}

mysqli_set_charset($connection, 'utf8');

$sql    = "SELECT * FROM `nfsy_options` WHERE 1 LIMIT 10";
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]