Ошибки кодировки PHP и pgAdmin
Есть база данных, в ней таблица. Данные в таблицу попадают с сайта через PHP. Во-первых, когда я пытаюсь выловить ошибку вставки данных через PHP, вместо букв появляются знаки вопросов, соответственно невозможно понять, что конкретно это за ошибка. Также, когда я вношу в таблицу что-либо русское, pgAdmin выдает следующее: 'charmap' codec can't decode byte 0x98 in position 1: character maps to . Что необходимо поменять или переустановить, чтобы русский язык отображался как через PHP так и через pgAdmin?
Скрипт PHP:
<?php
include "styles.php";
session_start();
require_once 'connect.php';
if ($_POST['name'] || $_POST['username'] || $_POST['password'] || $_POST['password_confirm']) {
$name = $_POST['name'];
$login = $_POST['username'];
$password = $_POST['password'];
$password_confirm = $_POST['password_confirm'];
if (isset($_POST['email'])) {
$email = $_POST['email'];
} else {
$email = null;
}
if ($password === $password_confirm) {
$values = array_slice($_POST, 0, 4);
$result = pg_insert($conn, "users", $values);
if (!$result) {
$error = pg_last_error($conn);
if (strpos($error, 'duplicate key value violates unique constraint') !== false) {
$_SESSION['message'] = 'Пользователь с таким именем уже существует';
header('Location: ../register.php');
} else {
$_SESSION['message'] = 'Ошибка при регистрации пользователя';
header('Location: ../register.php');
}
}
} else {
$_SESSION['message'] = 'Пароли не совпадают';
header('Location: ../register.php');
}
} else {
$_SESSION['message'] = 'Заполните обязательные поля';
header('Location: ../register.php');
}
?>
