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

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

27.10.2015, 18:22. Показов 5611. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru