Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330

Русские буквы в mysql

27.10.2015, 18:22. Показов 5647. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Да да, снова какой-то баНан который не умеет пользоваться поиском.
И собственно вопрос. Как добавить в БД русские символы. Сейчас вместо них пустота, они просто не добавляются.
PHP
1
2
3
4
$param1 = "login"; 
$param2 = "password";
$param3 = "Описание"; //Это не добавляется
$sql = mysql_query("INSERT INTO test(login,password,description) VALUES('$param1','$param2','$param3')");
Если можно, мне просто пример. На php в дальнейшем программировать не планирую.

Тему читал: Базы Данных. Кодировка ввода/вывода.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2015, 18:22
Ответы с готовыми решениями:

русские буквы + mysql
Стоит на хостинге сайтик. Я его на локу перенес и пару дней у себя его делал и сразу тестил. Вот сегодня перенес на хостинг вместе с...

Русские буквы в MySQL не пишутся!!!??
День добрый!!! Проблема заключается в следующем: При добавлении новой записи русскими буквами через браузер ....эта запись не...

Не ищет русские слова/буквы
Всем привет,делал поиск для сайта все хорошо работает, кроме того что он отказывается искать именно русские запросы и выдает ошибку на...

20
Заблокирован
27.10.2015, 18:39
Цитата Сообщение от Nalik Посмотреть сообщение
баНан
на вашу бэдэ. все что нужно там добавляется. выйдите из судорога и поставьте софт 15го года
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
27.10.2015, 19:55
Цитата Сообщение от Nalik Посмотреть сообщение
Тему читал: Базы Данных. Кодировка ввода/вывода.
И что из прочтенного Вы применили? Показывайте код)))
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
28.10.2015, 00:37
Nalik, а если в БД вставить запрос
SQL
1
INSERT INTO `test` (`login`, `password`, `description`) VALUES ('login', 'password', 'Описание')
работет или тоже нет?
1
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
28.10.2015, 00:50
кавычки поменяйте, двойную на одинарную и одинарную на двойную, все заработает ну если конечно вы в кодировке ничего не перепутали, на самом деле

Добавлено через 7 минут
хотя не, там вставится хрень.
Цитата Сообщение от Nalik Посмотреть сообщение
На php в дальнейшем программировать не планирую.
но собственно, за эту фразу плюс
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 01:01  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
кавычки поменяйте, двойную на одинарную и одинарную на двойную, все заработает ну если конечно вы в кодировке ничего не перепутали, на самом деле
Так имеете ввиду?
PHP
1
$sql = mysql_query('INSERT INTO test(login,password,description) VALUES("$param1","$param2","$param3")');
Вставляется $param1, $param2, $param3, т.е. как обычный текст)

Цитата Сообщение от Виталюска Посмотреть сообщение
INSERT INTO `test` (`login`, `password`, `description`) VALUES ('login', 'password', 'Описание')
В БД запрос работает, добавляет и отображает корректно.

Добавлено через 6 минут
Цитата Сообщение от NEbO Посмотреть сообщение
хотя не, там вставится хрень.
Ну да, о результатах отписался)
Цитата Сообщение от NEbO Посмотреть сообщение
но собственно, за эту фразу плюс
Не правильно выразился? Не знаю, можно ли считать php языком программирования или нет)) Надо пару скриптов написать на нём и все, для взаимодействия моей программы на c# с БД, прямыми методами из программы не хочу работать.. Слишком.. не безопасно что-ли.. Хотя хочу попробовать оба варианта и выбрать лучший)
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
28.10.2015, 01:16
У вас на самом деле какая-то фигня в коде, судя по всему... Ну или с базой. просто попробуйте действительно вставить этими тремя строками эту всю штуку в вашу базу.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
$conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_query('USE test');
mysql_query('DROP TABLE IF EXISTS test');
mysql_query('CREATE TABLE `test`.`test` ( `id` INT NOT NULL , `login` VARCHAR(255) NOT NULL , `password` VARCHAR(255) NOT NULL , `description` TEXT NOT NULL )');
$param1 = "login"; 
$param2 = "password";
$param3 = "Описание"; //Это не добавляется
$sql = mysql_query("INSERT INTO test(login,password,description) VALUES('$param1','$param2','$param3')");
$resultSet = mysql_query('SELECT * FROM test');
while ($row = mysql_fetch_array($resultSet)) {
    var_dump($row);
}
выдает
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
array(8) {
  [0]=>
  string(1) "0"
  ["id"]=>
  string(1) "0"
  [1]=>
  string(5) "login"
  ["login"]=>
  string(5) "login"
  [2]=>
  string(8) "password"
  ["password"]=>
  string(8) "password"
  [3]=>
  string(16) "Описание"
  ["description"]=>
  string(16) "Описание"
}
Добавлено через 27 секунд
Цитата Сообщение от Nalik Посмотреть сообщение
Вставляется $param1, $param2, $param3, т.е. как обычный текст)
да-да, я об этом и подумал, когда сказал насчет фигни

Добавлено через 5 минут
беда у вас скорее всего, в том, что вы не просто "Описание" вставляете, в какую-нибудь хрень, с кавычками) там есть спец оператор mysql_real_escape_string для экранирования всего и вся... для каждой строки данных попробуйте его применить. вдруг поможет
ну заодно избаветесь от уязвимостей, и все такое
1
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 01:34  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
У вас на самом деле какая-то фигня в коде, судя по всему... Ну или с базой.
Вот ни капли не сомневаюсь в верности ваших слов! Сегодня впервые столкнулся с работой с БД и php, так что искренне верю вам)

Код который намулевал:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//***********ПАРАМЕТРЫ*****************
$param1 = 'login';  
$param2 = 'password';
$param3 = 'Описание';
//***********ДАННЫЕ НА ВХОД В БД******************
    mysql_set_charset( 'utf8' ); //кодировка (не помогает)
    $host="localhost";
    $user="********";
    $pass="********"; 
    $db_name="********";
    $link=mysql_connect($host,$user,$pass);
    mysql_select_db($db_name,$link);
    
//************ДОБАВЛЕНИЕ ДАННЫХ В ТАБЛИЦУ*********
   $sql = mysql_query("INSERT INTO test(login,password,description) VALUES('$param1','$param2','$param3')");
                        
//*************ПРОВЕРКА ДОБАВЛЕНИЯ*****************
    if ($sql) {
        echo "<p>Данные успешно добавлены в таблицу.</p>";
    } else {
        echo "<p>Произошла ошибка.</p>";
    }
    //При написании пользовался статьей http://intop24.ru/article_15_lesson_5.php
?>
Цитата Сообщение от NEbO Посмотреть сообщение
mysql_real_escape_string
Завтра с 8-9 утра попробую, спасибо) А сейчас спать) И вам добрых снов)
1
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
28.10.2015, 03:43
та и вам спокойной ночи
1
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
28.10.2015, 04:15
Цитата Сообщение от Nalik Посмотреть сообщение
Код который намулевал:
ну тогда может вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//***********ПАРАМЕТРЫ*****************
$param1 = 'login';  
$param2 = 'password';
$param3 = 'Описание';
//***********ДАННЫЕ НА ВХОД В БД******************
  //  mysql_set_charset( 'utf8' ); //кодировка (не помогает)
    $host="localhost";
    $user="********";
    $pass="********"; 
    $db_name="********";
    $link=mysql_connect($host,$user,$pass) or die (mysql_error());
    mysql_select_db($db_name,$link) or die (mysql_error());
    mysql_query("SET NAMES 'utf8'");
//************ДОБАВЛЕНИЕ ДАННЫХ В ТАБЛИЦУ*********
   $sql = mysql_query("INSERT INTO `test` (`login`, `password`, `description`) VALUES ('".$param1."', '".$param2."', '".$param3."')") or die (mysql_error());
                        
//*************ПРОВЕРКА ДОБАВЛЕНИЯ*****************
    if ($sql) {
        echo "<p>Данные успешно добавлены в таблицу.</p>";
    } else {
        echo "<p>Произошла ошибка.</p>";
    }
    //При написании пользовался статьей http://intop24.ru/article_15_lesson_5.php
1
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
28.10.2015, 04:31
ну с комментариями это конечно куда логичнее
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 08:17  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
ну тогда может вот так:
Тоже пустое поле описание. Раз варианты кодов мне предлагают верные, может проблема в базе?
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 08:20  [ТС]
Вот скрин БД, все верно тут? Кодировка впорядке?
Миниатюры
Русские буквы в mysql  
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 08:31  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
mysql_real_escape_string
не, не помогло(

Добавлено через 4 минуты
Помогла установка php файла в utf-8, но в этом случае вместо "Данные успешно добавлены в таблицу." в браузере пишет иероглифы. Конечно мне не нужно ничего писать в браузере, но я читал, что не обязательно чтобы скрипт и база были в одинаковой кодировке, главное в правильной кодировке передавать..
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
28.10.2015, 08:37
Цитата Сообщение от Nalik Посмотреть сообщение
главное в правильной кодировке передавать..
я же написал как передовать в utf8 кодеровке
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 08:38  [ТС]
Проблему решил, но все равно не понимаю почему с явным указанием в какой кодировке передавать заносилось пустое поле. Хотя..Оно мне надо? Главное чтобы работало исправно..
Цитата Сообщение от Nalik Посмотреть сообщение
На php в дальнейшем программировать не планирую.
И так полный код.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
header('Content-Type: text/html; charset=utf-8'); //Кодировка в браузере
//***********ПРИХОДЯЩИЕ ПАРАМЕТРЫ*****************
$param1 = 'login';  // параметр выбора метода
$param2 = 'password123';
$param3 = 'Описание';
//***********ДАННЫЕ НА ВХОД В БД******************
    mysql_set_charset( 'utf8' ); //кодировка
    $host="localhost";
    $user="********";
    $pass="********";
    $db_name="********";
    $link=mysql_connect($host,$user,$pass);
    mysql_select_db($db_name,$link);
    
//************ДОБАВЛЕНИЕ ДАННЫХ В ТАБЛИЦУ*********
   $sql = mysql_query("INSERT INTO test(login,password,description) VALUES('$param1','$param2','$param3')");
                        
//*************ПРОВЕРКА ДОБАВЛЕНИЯ*****************
    if ($sql) {
        echo "<p>Данные успешно добавлены в таблицу.</p>";
    } else {
        echo "<p>Произошла ошибка.</p>";
    }
    //http://intop24.ru/article_15_lesson_5.php
?>
Всем спасибо что заморочились и помогли!
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
28.10.2015, 08:43
Цитата Сообщение от Nalik Посмотреть сообщение
Кодировка впорядке?
Зависит т кодировки исходника. У вас мой пример сработал?
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 09:08  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
У вас мой пример сработал?
Если соединяться через root, то "Access denied for user 'root'@'localhost' (using password: NO)". Подставил свои данные, в браузере вообще пусто, т.е. не выдается сообщений, в базу ничего не заносится.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$conn = mysql_connect('localhost', '*******', '*******') or die(mysql_error());
mysql_query('USE test');
mysql_query('DROP TABLE IF EXISTS test');
mysql_query('CREATE TABLE `test`.`test` ( `id` INT NOT NULL , `login` VARCHAR(255) NOT NULL , `password` VARCHAR(255) NOT NULL , `description` TEXT NOT NULL )');
$param1 = "login"; 
$param2 = "password";
$param3 = "Описание"; //Это не добавляется
$sql = mysql_query("INSERT INTO test(login,password,description) VALUES('$param1','$param2','$param3')");
$resultSet = mysql_query('SELECT * FROM test');
while ($row = mysql_fetch_array($resultSet)) {
    var_dump($row);
}
?>
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
28.10.2015, 10:11
Цитата Сообщение от Виталюска Посмотреть сообщение
PHP
1
2
3
$link=mysql_connect($host,$user,$pass) or die (mysql_error()); 
mysql_select_db($db_name,$link) or die (mysql_error()); 
mysql_query("SET NAMES 'utf8'");
Вам же дали вот такой кусок кода с подключением и установкой кодировки соединения, зачем БД выбираете по своему?
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
28.10.2015, 10:24  [ТС]
Цитата Сообщение от СлаваВирус Посмотреть сообщение
Вам же дали вот такой кусок кода с подключением и установкой кодировки соединения, зачем БД выбираете по своему?
Потому что как я уже написал в ответ на этот пост:
Цитата Сообщение от Виталюска Посмотреть сообщение
ну тогда вот так:
Цитата Сообщение от Nalik Посмотреть сообщение
Тоже пустое поле описание. Раз варианты кодов мне предлагают верные, может проблема в базе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2015, 10:24
Помогаю со студенческими работами здесь

Не добавляются русские слова в БД MySQL
Я сделал простой онлайн чат, на локальном сервере все великолепно работает. Когда я залилил этот чат на hostinger.ru то у меня возникли...

В myAdmin некорректно выводятся русские буквы
Когда создаю записи в БД через форму на сайте, а потом смотрю их в myAdmin, то вместо русских букв непонятные символы. Например слово...

Почему с базы данных, не выводит русские буквы?
Почему вместо слова, отображаются вопросики?

почему не работает запрос, когда в поле name русские буквы?
Доброо времени суток &lt;?php $db=mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;) or die(&quot;Ошибка&quot;); mysql_select_db(&quot;dbsoap&quot;, $db) or...

Сайт не воспринимает русские буквы
Всем привет, у меня такой вопрос: при попытке создать тикет в поддержку на моем сайте, сайт не воспринимает русские буквы, то есть если...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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