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

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

26.07.2010, 19:39. Показов 30229. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru