Специальные символы, такие как â é é í ó ú, импортируются как ??? в MySQL

Я пытался импортировать слова со специальными символами в MySQL с помощью команды PHP INSERT, и я либо получаю ??? для каждого специального символа или всего после того, как он обрезан.

Я много читал в Интернете, но ни одно из решений не работает.

Так что в настоящее время Coruña из скрипта вставляет как Coru???a в SQL с кодом ниже:

$con=mysqli_connect("localhost","user",'pass','database');
$con->query("SET NAMES 'utf8' ");
$con->query("SET CHARACTER SET 'utf8'");

if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO tbl_state (id, statecode, statename,country)
VALUES (1, 'A Coruña', 'A Coruña', 'ES')");

mysqli_close($con);

Моя страница кодируется content="text/html; charset=utf-8",

Я пробовал с utf8_general_ci а также utf8_spanish_ci сопоставление для таблицы и столбца в MySQL, но безуспешно.

Есть специалисты, которые пришли к этой проблеме, что может быть не так?

Спасибо!

0

Решение

Итак, вместо того, чтобы пытаться вводить данные через PHP-скрипт, я вставил их непосредственно из phpMyAdmin с помощью запроса INSERT.

Для правильного вывода данных в PHP (без квадратов и вопросительных знаков) я добавил это при установлении соединения:

$mysqli->query("SET NAMES 'utf8'");

Все работало отлично!

Спасибо за помощь, и если кто-то все еще найдет ответ, как это сделать с помощью PHP-скрипта, будет интересно услышать.

0

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

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

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