Доброго времени суток!
У меня небольшая проблема с кодировкой.
Есть небольшой php кусок кода который реализует подключение к mysql (БД)
Сначала вызывается функция ZapMysql из нее вызывается функция PodcklMysql и происходит конект к БД.
$ndb - имя БД
$dbt - имя таблицы в БД
$dbts - имя столбца в БД
$dbtstr - сообщение для записи в БД
Таблица состоит из 2 столбцов id (A_I) и coment.
function PodcklMysql($ndb){
include 'config.php';
$connect = mysql_connect($hostname, $username, $password)
or die('connect to database failed'.mysql_error( ));
mysql_select_db( $ndb,$connect)
or die($ndb.' not found'.mysql_error( ));
echo('К базе данных подключились');
mysql_query ("SET CHARACTER SET 'utf8'");
}
function ZapMysql($ndb,$dbt,$dbts,$dbtstr){
PodcklMysql($ndb);
mysql_query ("SET CHARACTER SET 'utf8'");
$res=mysql_query("INSERT INTO `".$ndb."`.`".$dbt."` (".$dbts.")VALUES ('".$dbtstr."');")
or die ("Ошибка выполнения запроса:".mysql_error( ));
echo ("Запрос на добовление данных выполнен успешно. ");
$result=mysql_query("SELECT * FROM `".$ndb."`.`".$dbt."`")
or die ("Ошибка выполнения запроса:".mysql_error( ));
while($row = mysql_fetch_array($result))
{
echo "\n".$row['coment'];
}
echo ("Запрос на выборку данных выполнен успешно.");}
На стороне клиента выглядит это так
<!DOCTYPE html>
<html>
<head>
<title>AJAX отправка коментариев</title>
<link rel="styleheet" type="text/css" href="/css/style.css">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form id="ComentForm" method="post" action="">
<textarea id="ComentText" type="text-area">Ваш коментарий</textarea>
<input id="ComentButton" type="button" value="Отправить"/>
<script language="JavaScript">
$("#ComentButton").click (
function() {
$.post('function.php',{ndb: "mydb", dbt:"comment",dbts:"coment",dbtstr: $("#ComentText").val() }, function(data) { console.log(data);});
console.log("1");
}
);
</script>
</body>
</html>
В таблице соответствие utf8_general_ci .
В таблицу попадают знаки вопросов.
Вывод в консоль тоже в виде ??? ????????.
Просьба прокомментировать ситуацию и указать на недочеты и ошибки.
Примечание:
Кодировка БД utf8_general_ci
Кодировка таблиц utf8_general_ci
Как посмотреть кодировку сервера?
Сопоставление кодировки соединения с MySQL : utf8_general_ci
Кодировка файла utf8
Файл config.php:
$hostname = 'localhost';
$username = 'root';
$password = '';
Ситуация сильно изменилась)
Информация которая вводится через форму заносится и выводится правильно.
Но та информация которая по умолчанию находится в форме, все равно посылается как знаки вопросов.
Примечание:
БД не воспринимает кириллицу вообще.
Только латинские символы.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.