Мне нужно добавить имена пользователей из Facebook в базу данных, и эти имена имеют символы UTF-8, такие как (±, č, ę, é, į, š, ø, ū). Когда я добавляю его в базу данных, например, письмо š
выглядит как Å¡
MySQL. Вставьте символы UTF-8 в базу данных
В myPhpAdmin Я нашел таблицу, чтобы установить кодировку UTF-8, я сделал это, но эту же проблему. Я добавил mysql_set_charset('utf8');
моему коду, но это тоже не помогло. Код теперь выглядит так:
<?php
$time = $_POST['time'];
$username = $_POST['userName'];
session_start();
$name = $_SESSION['vardas'];
$times = gmdate('H:m:s', $time);
mysql_set_charset('utf8');
$mysqli = new mysqli("localhost","my_db","pass","my_db");
if ($stmt = $mysqli->prepare("INSERT into eurokos (time, userName) VALUE (?,?) ")) {
$stmt->bind_param('is', $time, $name);
// $stmt->bind_param("s", $username);
$stmt->execute();
if ($stmt->error != '') {
echo ' error:'.$stmt->error;
} else {
echo 'success';
}
$stmt->close();
} else {
echo 'error:'.$mysqli->error;
}
Также этот файл php преобразован в кодировку UTF-8, но не помог.
Когда я использую этот код echo "Name: " . $user_profile['name'];
Facebook правильно печатает имя пользователя с обычными буквами в UTF-8. Таким образом, проблема заключается в вставке имен пользователей в базу данных.
Это я использую, чтобы отправить переменную имя пользователя из fb.php в DB.php (возможно, здесь мне нужно использовать любую кодировку?)
$name = $user_profile['name'];
session_start();
$_SESSION['vardas'] = $name;
Не могли бы вы мне помочь? Благодарю.
возможно дубликат [UTF-8 - PHP и MySQLi UTF8] (http://stackoverflow.com/questions/10331883/utf-8-php-and-mysqli- utf8) – deceze
'mysql_set_charset' применим, если вы используете расширение * mysql *; вы используете * mysqli * и должны использовать соответствующий способ mysqli для настройки кодировки соединения. – deceze
У меня возникла ошибка: «Неустранимая ошибка: вызов функции-члена set_charset() для не-объекта ...» при использовании этого: '$ mysqli-> set_charset (« utf8 »);' – 2013-05-10 15:41:48