Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/77: Рейтинг темы: голосов - 77, средняя оценка - 4.81
11 / 11 / 1
Регистрация: 28.12.2010
Сообщений: 96

Запись данных в MySQL с русской кодировкой.

14.08.2011, 16:51. Показов 14053. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что надо настроить или указать в коде, чтобы символы русской кодировки сохранялись корректно в базе?
Мой php файл в формате utf-8. В свойства поля таблицы : Сравнение - utf8_bin, Тип - VARCHAR.
При записи данных в базу через скрипт русские символы сохраняются как знаки вопроса.
Вот код
PHP
1
2
3
4
5
6
7
8
9
10
11
$firstName = $_POST['firstname'];
$secondName=$_POST['secondname'];
$email = $_POST['email'];
$query="insert into sportsmans values('$secondName','$firstName','$email',null)";
$conn = mysql_connect('localhost','root','VCh3005');
mysql_select_db('Competition');
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query($query);
mysql_error();
mysql_close();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2011, 16:51
Ответы с готовыми решениями:

Занос данных через php с русской кодировкой
Здравствуйте проблема с заносом данных через php с русской кодировкой всё также сделал 1) Кодировка странички в UTF8; 2) В метатеге...

Где ошибка? (Запись данных из массива в базу данных mysql)
Массив, генерирующий данные: $data = array(); for($i = 0; $i < 100; $i++){ $data = array( 'name' ...

Запись данных в MySQL
Не записываются данные в базу <h2 align="center">Оформление заказа</h2> <? if($_SESSION && !isset($_POST)) { ?>...

4
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
15.08.2011, 05:05
Стайер, должно быть UTF-8 General. Это во-первых. Во-вторых, скажите, зачем Вы совершаете кучу ненужных действий и запросов? Например так:
Цитата Сообщение от Стайер Посмотреть сообщение
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
Цитата Сообщение от Стайер Посмотреть сообщение
mysql_error();
mysql_close();
В то время, когда можно сделать проще:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($_connect = @mysql_connect('','root','VCh3005'))
{
 if (mysql_select_db('Competition',$_connect))
 {
  if ($_result = mysql_query($_query,$_connect))
  {
// Здесь разбираемся с результатом
  } else {
// Действия при ошибке в запросе
  }
 } else {
// Действия при ошибке поиска БД
 }
} else {
// Действия при ошибке подключения к БД
}
В-третьих, где проверка входных данных? Почитайте про SQL-инъекции.
1
11 / 11 / 1
Регистрация: 28.12.2010
Сообщений: 96
16.08.2011, 18:59  [ТС]
Цитата Сообщение от Xander Bass Посмотреть сообщение
Стайер, должно быть UTF-8 General. Это во-первых. Во-вторых, скажите, зачем Вы совершаете кучу ненужных действий и запросов? Например так:


В то время, когда можно сделать проще:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($_connect = @mysql_connect('','root','VCh3005'))
{
 if (mysql_select_db('Competition',$_connect))
 {
  if ($_result = mysql_query($_query,$_connect))
  {
// Здесь разбираемся с результатом
  } else {
// Действия при ошибке в запросе
  }
 } else {
// Действия при ошибке поиска БД
 }
} else {
// Действия при ошибке подключения к БД
}
В-третьих, где проверка входных данных? Почитайте про SQL-инъекции.
Спасибо за поправки!
Я только начал пробовать, что-то делать на php. Делал по примеру. Может книгу посоветуете, где хорошо работа с СУБД описывается.

Добавлено через 15 минут
P.S А что закрывать соединение mysql_close() не обязательно?

Добавлено через 20 часов 25 минут
Цитата Сообщение от Xander Bass Посмотреть сообщение
Стайер, должно быть UTF-8 General. Это во-первых. Во-вторых, скажите, зачем Вы совершаете кучу ненужных действий и запросов? Например так:
Цитата Сообщение от Стайер Посмотреть сообщение
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
У меня без этих запров строки кракозябрами в базу записываются, хотя в сравнении "utf8_general_ci" указано.
0
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
17.08.2011, 07:44
Цитата Сообщение от Стайер Посмотреть сообщение
У меня без этих запров строки кракозябрами в базу записываются, хотя в сравнении "utf8_general_ci" указано
Нужно, чтобы uft-8 была везде, в том числе и в html-документе. Притом необходимо, чтобы она там была не только формально в виде метатегов, но и фактически (Проверяется в любом нормальном браузере).
1
11 / 11 / 1
Регистрация: 28.12.2010
Сообщений: 96
17.08.2011, 11:56  [ТС]
Так дело в том, что у меня так и есть!
1) Кодировка странички в UTF8;
2) В метатеге указано, что UTF8;
HTML5
1
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3) В сравнении свойства поля стоит "utf8_general_ci";
4)В свойствах базы и таблицы тоже указано "utf8_general_ci"
А кракозябры всё равно не уходят без
PHP
1
2
mysql_query("SET NAMES 'utf8'");
 mysql_query("SET CHARACTER SET 'utf8'");
Вот мой sql файл создания базы
SQL
1
2
3
4
5
6
7
8
9
10
CREATE DATABASE `competition` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `competition`;
 
CREATE TABLE IF NOT EXISTS `sportsmans` (
  `SecondName` VARCHAR(15) COLLATE utf8_general_ci NOT NULL,
  `FirstName` text COLLATE utf8_general_ci NOT NULL,
  `Email` text COLLATE utf8_general_ci NOT NULL,
  `idSportsmen` INT(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`idSportsmen`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=20 ;
И как насчёт закрытия соединения? Его не обязательно закрывать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2011, 11:56
Помогаю со студенческими работами здесь

Запись и вывод данных из mysql
Как реализовать подобную вещь Имеется текстовое поле, в которое вписывается любой набор символов. После чего нажимается кнопка...

Запись данных из json в mysql
Здравствуйте. Подскажите пожалуйста как организовать запись данных из json в mysql? Есть json на сайте банка -...

запись данных из php в mysql
Привет форумчане! Как с php записать данные в базу mysql?. Я вотнаписал код а так не работает, скажите где ошибка &lt;?php $text...

Запись в Базу данных MySQL
&lt;html&gt; &lt;head&gt; &lt;title&gt;Формы PHP&lt;/title&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt; ...

Запись данных из MySQL в переменную PHP
Мне нужно чтобы из БД MySQL присваивались к переменной PHP У меня есть БД где есть таблица users и в ней есть password надо чтобы он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru