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

phpmyadmin выводит знаки вопроса вместо текста.

26.07.2010, 19:39. Показов 30199. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет,
Написал гостевую книгу, что бы люди оставляли сообщения, но некоторые нехорошие люди написали то что не стоило писать, соответственно, Я зашел рнрмуадмин, и написал код:
PHP
1
update book set txt = 'какой то текст на русском' where mail = 'somemail@mail.ru'
Теперь весь текст отображается в виде знаков вопроса(???????....) в рнрмуадмин.
И на сайте выводится тоже в виде вопросов.
Хотя гостевуха работает нормально и если добавлять через нее текст то он нормально отображается на сайте, хотя в рнрмуадмин выводятся крякозяблики.
Почему не работает апдейт в рнрмуадмин? и как это исправить?
И еще, можно ли както вычислить хулиганов по email? если да, то как?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2010, 19:39
Ответы с готовыми решениями:

Вместо русских букв знаки вопроса при создании XML
Добрый день! В бд все таблицы в кодировке utf-8. при создании xml-файла посредством php вместо русских букв отображаются только знаки...

Вместо русских символов знаки ? phpMyAdmin
Итак, вывожу русские символы из БД, и нифига, много что <?php $link = mysqli_connect('localhost', "root", '',...

PHP выводит знаки вопросов вместо русских символов с таблицы mySQL
Доброго времени суток! Сколько гуглил, сколько разного перепрбывал, ничего не помогло.... Проблемка, собственно, распространенная......

14
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
26.07.2010, 20:52
какая кодировка базы данных?
какая кодировка гостевухи?
1
12 / 12 / 5
Регистрация: 10.09.2009
Сообщений: 261
26.07.2010, 21:09  [ТС]
Цитата Сообщение от Nazz Посмотреть сообщение
какая кодировка базы данных?
какая кодировка гостевухи?
Базы данных не нашел как посмотреть, но таблица book, если зайти в структуру, и там в поле сравнение написано - cp1251_general_ci, Я так понимаю это кодировка, а ниже latin1_swedish_ci.
Вот:
book 3 MyISAM 3 cp1251_general_ci 1.2 КБ -
Таблиц: 1 MyISAM 3 latin1_swedish_ci 1.2 КБ 0 Байт

Потом зашел в структура таблицы там следующая картина:
name text latin1_swedish_ci Да NULL
mail text latin1_swedish_ci Да NULL
txt text latin1_swedish_ci Да NULL
В поле сравнение везде почумуто latin1_swedish_ci.

Я так понял нужно поменять эту кодировку? Если да то как?
0
Благотворец
 Аватар для arvitaly
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
26.07.2010, 22:20
Скорее всего обратно перекодировать уже не получится, а так приведи все поля в одну кодировку и в настройках PHPmyadmin и при подключении к БД на PHP ее используй.

Если не секретная информация, сделай дамп посмотрю может что получится
1
12 / 12 / 5
Регистрация: 10.09.2009
Сообщений: 261
26.07.2010, 23:42  [ТС]
В таблице еще пока ничего нет, и ее можно смело удалить. Но не хочется что бы такое повторилось в бущующем.
Как мне создать таблицу с определенной кодировкой?
Я делала так:
PHP
1
2
3
4
    mysql_connect("localhost",$user,$password) or die("Не могу соединиться:".mysql_error());
    mysql_query("CREATE DATABASE $db");
    mysql_select_db("$db") or die("Не могу выбрать базу данных".mysql_error());
    mysql_query("CREATE TABLE IF NOT EXISTS book(name TEXT,mail TEXT,txt TEXT)") Or Die("ошибка Создания Таблицы".mysql_error());
Что сюда нужно добавить чтобы была нужная кодировка? или нужно чтото еще менять?

Добавлено через 8 минут
Я понимаю что создать таблицу можно в рнрмуадмине, но хотелосьбы иметь универсальный код для создания таблицы, что бы его можно было использовать многократно, при этом меняя лишь значения в create table.
Так ведь можно сделать?
1
Благотворец
 Аватар для arvitaly
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
26.07.2010, 23:48
Создай дамп в phpmyadmin и открой его. Там будет и запрос создания таблицы
1
12 / 12 / 5
Регистрация: 10.09.2009
Сообщений: 261
27.07.2010, 09:51  [ТС]
Цитата Сообщение от arvitaly Посмотреть сообщение
Создай дамп в phpmyadmin и открой его. Там будет и запрос создания таблицы
Удалил и создал заново таблицу.
Не работает, забавно, теперь работает апдейт, и выводит все нормально в муадмине, но гостевуха не работает, выводит вопросами довавляемвый текст, и тот текст который был апдейтен.
Вот код:
PHP
1
2
3
4
5
    mysql_query("CREATE TABLE IF NOT EXISTS book(
          name text CHARACTER SET cp1251,
          mail text CHARACTER SET cp1251,
          txt text CHARACTER SET cp1251
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251") Or Die("ошибка Создания Таблицы".mysql_error());
При дампе было CHARACTER SET latin1, Я поменял на cp1251.
Что мне делать что бы все нормально заработало?
1
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
27.07.2010, 12:47
SQL
1
2
3
4
5
CREATE TABLE IF NOT EXISTS `book`(
                  `name` TEXT NOT NULL,
                  `mail` TEXT NOT NULL,
                 `txt` TEXT NOT NULL
        ) ENGINE=MyISAM CHARSET=cp1251  CHARACTER SET cp1251
Я думаю, что такой запрос будет правильней. Теперь по поводу "гостевухи". Перед первым запросом добавте:
PHP
1
mysql_set_charset('cp1251');
3
12 / 12 / 5
Регистрация: 10.09.2009
Сообщений: 261
27.07.2010, 20:51  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
SQL
1
2
3
4
5
CREATE TABLE IF NOT EXISTS `book`(
                  `name` TEXT NOT NULL,
                  `mail` TEXT NOT NULL,
                 `txt` TEXT NOT NULL
        ) ENGINE=MyISAM CHARSET=cp1251  CHARACTER SET cp1251
Я думаю, что такой запрос будет правильней. Теперь по поводу "гостевухи". Перед первым запросом добавте:
PHP
1
mysql_set_charset('cp1251');
Спасибо большое, все работает, только ругается на кавычки `book` и SET cp1251, но если это убрать все работает просто замечательно.
0
разработчик
 Аватар для pavlinmavlin
258 / 48 / 22
Регистрация: 24.07.2012
Сообщений: 219
Записей в блоге: 17
24.07.2012, 23:40
Очень познавательно, а если кодировка MySQL сервера utf-8
------
Версия программы: 5.5.20 - MySQL Community Server (GPL)
Версия протокола: 10
Пользователь: root@localhost
Кодировка сервера: UTF-8 Unicode (utf8)
------
Но при этом кодировка гостевой, базы данных, таблици и прочей шушеры мушеры - cp1251.
То как избежать знаков вопроса?

п.с.
это не вопрос на засыпку у меня возникла такая проблема. )
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
25.07.2012, 10:07
Цитата Сообщение от arvitaly Посмотреть сообщение
Скорее всего обратно перекодировать уже не получится
Цитата Сообщение от pavlinmavlin Посмотреть сообщение
у меня возникла такая проблема. )
почему это не получится? а iconv() для чего?
0
разработчик
 Аватар для pavlinmavlin
258 / 48 / 22
Регистрация: 24.07.2012
Сообщений: 219
Записей в блоге: 17
26.07.2012, 03:09
Цитата Сообщение от KOPOJI Посмотреть сообщение
почему это не получится? а iconv() для чего?
Это наверное помогло бы в случае к ракозябрами, но не со знаками вопроса. ))
Дело в том, что при занесении в бд все русские буквы преобразуются в знаки вопроса.
И как они стали знаками вопроса, так они ими и остаются при любой кодировке. Как в самой БД так и при выборке на страничку
0
разработчик
 Аватар для pavlinmavlin
258 / 48 / 22
Регистрация: 24.07.2012
Сообщений: 219
Записей в блоге: 17
27.07.2012, 06:24
Думаю стоит пройти весь путь полностью. От и до.
И такс начнем.
1. Скачал MySQL сервер 5.5. Установил и настроил его при настройке конфигурации указал кодировку cp1251.
-----
Сервер: localhost via TCP/IP
Программа: MySQL
Версия программы: 5.5.20 - MySQL Community Server (GPL)
Версия протокола: 10
Пользователь: root@localhost
Кодировка сервера: UTF-8 Unicode (utf8) - Но почему то все равно УТФ 8 стоит.
-----
2. Скачал и установил phpmyadmin 3.5.2

3. Создал БД и таблици в ней при этом указав сравнение cp1251_general_ci
4. Создал сайт, блочный php. Тогда у меня возникла проблема с символами появляющимися в верхнем левом углу сайта "п=>" - что то вроде этого. Нашел в интернете решение проблемы. Перекодировал все страници сайта с помощью Notepad++ в UTF8 без (BOM). Проблема исчезла. Но при этом стали появляться кракозябры. Тогда поставил на главной страници кодировку windows-1251 и все встало на свои места. Далее все страници создавал так же, перекодировал их и т.д.
5. Создал гостевую. Код в файле обрабатывающем форму гостевой:
-----
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
$podkl_server = mysql_connect("localhost","user","password");
$podlk_k_base = mysql_select_db("shkola",$podkl_server);
 
if (isset($_POST['author']))
{
    $author = $_POST['author'];
}
 
 
if (isset($_POST['ma_adress']))
{
    $ma_adress = $_POST['ma_adress'];
}
 
if (isset($_POST['text']))
{
    $text = $_POST['text'];
}
 
 
 
$comments = mysql_query ("INSERT INTO guests (author,ma_adress,text) VALUES ('$author','$ma_adress','$text')");
 
if ($comments == 'true')
{echo "<script type='text/javascript'> alert('Комментарий успешно добавлен!'); </script>";}
    else {echo  "<script type='text/javascript'> alert('Повторите попытку');</script>";}
-----
В прицнипе все рабоатет как надо. Только вот вместо русских символов в БД заносятся знаки вопроса.
И так же выводятся при выборке из бд.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.07.2012, 08:02
Цитата Сообщение от pavlinmavlin Посмотреть сообщение
$podkl_server = mysql_connect("localhost","user","passwo rd");
после этого указываешь нужную кодировку
mysql_set_charset('кодировка'); -utf8 или cp1251
Цитата Сообщение от pavlinmavlin Посмотреть сообщение
Кодировка сервера: UTF-8 Unicode (utf8)
charset utf8, collation лучше utf8_general_ci а не utf8_inicode_ci

Цитата Сообщение от pavlinmavlin Посмотреть сообщение
3. Создал БД и таблици в ней при этом указав сравнение cp1251_general_ci
вот главный пункт. спрашивается, если все в utf-8 нахрена базу создавать в кодировке windows-1251??? и что вы хотите после этого, чтобы все нормально было?
тогда переводите перед записью все ваши переменные в кодировку win-1251 а при извлечении обратно с помощью iconv()

Добавлено через 3 минуты
Цитата Сообщение от pavlinmavlin Посмотреть сообщение
Это наверное помогло бы в случае к ракозябрами, но не со знаками вопроса. ))
ну да конечно
PHP
1
$author = iconv("Windows-1251","UTF-8",$_POST['author']);
1
разработчик
 Аватар для pavlinmavlin
258 / 48 / 22
Регистрация: 24.07.2012
Сообщений: 219
Записей в блоге: 17
27.07.2012, 08:14
Спасибо, помогло. Навело на новые мысли а спасло все-таки

PHP
1
2
3
4
$podkl = mysql_connect("localhost","user","password");
 
$basa_shkol = mysql_select_db("shkola",$podkl);
mysql_query("SET NAMES cp1251");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2012, 08:14
Помогаю со студенческими работами здесь

Отображает знаки вопросов вместо русского текста
PHP не отображает русский текст

Не выводит русский язык, вместо него знаки вопроса
Влетел по полной, вроде и не глупый, гугл читать умею, но сосем не ладится. Поставил нормальный плагин, не выводит русский язык, вместо...

Почему знаки вопроса вместо текста?
#include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { HANDLE hStdOut =...

Возникают знаки вопроса вместо текста при отправке в твиттер. CURL
В общем, есть код, который делает пост в твиттер. Пост отправляется нормально, но если буквы русские, то вместо них знаки вопроса в...

Вместо записей в базе - знаки вопроса
Теперь такая вещь: я сделал новую базу и ввел туда несколько записей (2 столбца: текстовый и МЕМО). Но вместо записей отображаются знаки...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru