Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] В базу данных MySQL данные заносятся не полностью. / 25 сообщений из 33, страница 1 из 2
02.03.2013, 14:17
    #38171947
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Когда использовал тип поля Text , то было все хорошо

А в другой таблице нужно только определенное количество символов использовать. Я выбрал (как самоучка с знанием access) тип varchar . И теперь у меня если использую кириллицу помещается символов почти в два раза меньше и в конце доставляется непонятный символ.

Читаю так $userdata = mysql_fetch_assoc($query) ;
Запись делаю так mysql_query("INSERT INTO blank SET nameblank='". mysql_real_escape_string($post_nameblank) ."', blankmaket='".mysql_real_escape_string($post_htmldata)."'")

Если с количеством символов нельзя ничего сделать путевого, то хоть как избавляться от символа последнего. Не вычислял что это за код по ASCCI.

Может другое что-то использовать чтоб определенное количество символов было и для кириллицы и для латынь. Хотя смотрел по примеру из готовых систем типа жумлы и других. Хотя там классами все сделано, сразу не разобраться...
...
Рейтинг: 0 / 0
02.03.2013, 14:20
    #38171949
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Сдается мне, кодировка у в та
...
Рейтинг: 0 / 0
02.03.2013, 14:31
    #38171953
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
я сделал в таблице везде в полях utf8_bin а было utf8_другое
...
Рейтинг: 0 / 0
02.03.2013, 14:52
    #38171966
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
В основных настройках
в сопоставлении кодировки соединения с MySQL поменял на utf8_bin, в таблицах тоже самое, в полях тоже.
в шапке сайта у меня:
<head><link rel="icon" href="./favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="./favicon.ico" type="image/x-icon"><title>Hello :)</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8 "></head>

Тестирую.

Пишу в поле: "Мой шаблон мой шаблон мой шаблон"
Потом мне показывает " Мой шаблон мо "
а в базе если смотрю через провайдера, значение поля вот такое "РњРѕР№ шаблон РјРѕР"

Что я упустил ?
...
Рейтинг: 0 / 0
02.03.2013, 15:01
    #38171971
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
bin зачем?
...
Рейтинг: 0 / 0
02.03.2013, 15:06
    #38171976
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
а вариантов других нет. Там в любом из типов кодировок после заглавия идет название кодировки_bin первым в списке, а дальше перечень. от слова binary наверное.
...
Рейтинг: 0 / 0
02.03.2013, 15:10
    #38171977
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
utf8_general_xx нету?
...
Рейтинг: 0 / 0
02.03.2013, 15:12
    #38171978
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
есть utf8_general_ci
сейчас попробую
...
Рейтинг: 0 / 0
02.03.2013, 15:18
    #38171981
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
В одном посте девушка решала тоже такую проблему, она предложила ставить N перед значением.
Я попробовал:
$query = mysql_query("INSERT INTO blank SET nameblank= N '".mysql_real_escape_string($post_nameblank)."', blankmaket= N '".mysql_real_escape_string($post_htmldata)."'")

На 50% получилось. В базе текст поступает уже кириллица. Это видно из MyPHPAdmin провайдера. Но обычное чтение из $userdata = mysql_fetch_assoc($query); через $row[] показывает только непонятные значки. Тоесть нужно видимо только знать как конвертировать. Мне это неизвесно
...
Рейтинг: 0 / 0
02.03.2013, 15:23
    #38171983
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
utf8_general_ci не помогло. почти одинаково что и utf8_bin.
...
Рейтинг: 0 / 0
02.03.2013, 15:44
    #38171990
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
никто не знает? пользуемся только joomla и html?
...
Рейтинг: 0 / 0
02.03.2013, 17:41
    #38172049
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Заголовки ответа сервера смотрели, там какая кодировка указана?
...
Рейтинг: 0 / 0
02.03.2013, 18:40
    #38172068
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
я полностю решил попробовать перейти на 1251_general_ci
<head><link rel="icon" href="./favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="./favicon.ico" type="image/x-icon"><title>Hello :)</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>
выводит

кроме того использовал функцию на php чтоб посмотреть кодировку в базе current character set is cp1251 выводит на странице после исполнения
...
Рейтинг: 0 / 0
02.03.2013, 18:44
    #38172072
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
И всетаки если я научился вводить кириллицу с помощью SET НазваниеПоля=N'Значене'
и там ее вижу, а не упакованный текст двумя байтами, тогда как его читать хоть нормально. Ощущение будто что-то еще нужно ввести чтоб правильно php именно давал ответ при чтении. Выводит эроглифы
...
Рейтинг: 0 / 0
02.03.2013, 19:58
    #38172114
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Андрей159Пишу в поле: "Мой шаблон мой шаблон мой шаблон"
Потом мне показывает " Мой шаблон мо "
а в базе если смотрю через провайдера, значение поля вот такое "РњРѕР№ шаблон РјРѕР"

Что я упустил ?SET NAMES есть после открытия соединения с БД ?
...
Рейтинг: 0 / 0
02.03.2013, 23:02
    #38172180
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
vkleSET NAMES есть после открытия соединения с БД ?

Нет. Такого я не делал. Работаю по типа "PHP и MySQL исчерпывающее руководство" (Бретт Маклафлин) блин за 23$ книга. Там про это ничего не сказано было. Сейчас попробую . Наверное время исполнения теперь увеличится, это ж запрос как никак
...
Рейтинг: 0 / 0
02.03.2013, 23:17
    #38172191
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
<?php
$mybdsql=mysql_connect($dbhost, $dbuser, $dbpasswd);
$mytablsql=mysql_select_db($dbname);

$charset = mysql_client_encoding($mybdsql);
echo $charset.'<br>';

mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");

$charset = mysql_client_encoding($mybdsql);
echo $charset.'<br>';
?>

Результат такого запроса в бравзере уже
cp1251
cp1251
без изменений. в phpmyadmin на сайте вижу что в базе данных на русском данные внесены через =N'Value', а читать не выходит никак по нормальному. Звонил к другу. Он подтвердил что у него тоже видно в phpmyadmin все в кирилице + у него все работает, а у меня нет по какой-то причине
...
Рейтинг: 0 / 0
02.03.2013, 23:21
    #38172196
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Почему cp1251, если используете utf8
?
...
Рейтинг: 0 / 0
02.03.2013, 23:39
    #38172206
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
по всюду поменял на cp1251. у меня по умолчанию выдавало
$charset = mysql_client_encoding($mybdsql);
echo $charset.'<br>';
cp1251

+ колега тоже имел какие-то проблемы. нужно для украинского языка. хотя у него были проблемы с буквой і ї є, и ради этого он меня кодировку, а у меня вообще все полностью не пашет кроме латыни
...
Рейтинг: 0 / 0
02.03.2013, 23:43
    #38172209
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Андрей159по всюду поменял на cp1251
1. "Повсюду" в данном случае пишется слитно.
2. Где именно?
3. А нафига?
...
Рейтинг: 0 / 0
03.03.2013, 01:35
    #38172262
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
1. изв.украинец(
2. в базе данных (было 1251, в таблице поменял на 1251 (с1251 на utf8 и обратно), в каждом поле типа text, varchar, в шапке заголовка html
3. на utf8 не было результата хоть пробовал также задавать SET NAMES. между 1251 и utf8 разница только в том что символы і ї є будут "?"

у меня любой символ который не является латынью или цифрой показывается "?????"

может я неправильно читаю...
$query = mysql_query("SELECT * FROM blank WHERE nameblank = '".$post_nameblank."' LIMIT 1")
$userdata = mysql_fetch_assoc ($query)
if (mysql_num_rows($query)>0)
$row ["nameblank"]

может вместо $row что-то другое должно быть или mysql_fetch_assoc ? я уже как дурак(((

тестирую тут
...
Рейтинг: 0 / 0
03.03.2013, 01:43
    #38172263
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
кроме этого у меня присутствует html код в котором уже есть кириллица и она хорошо в бравзере отображается. А тут будто php не то выдает
...
Рейтинг: 0 / 0
03.03.2013, 02:20
    #38172269
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Андрей1592. в базе данных (было 1251, в таблице поменял на 1251 (с1251 на utf8 и обратно), в каждом поле типа text, varchar, в шапке заголовка htmlПроверьте еще хидер Content-Type, отдаваемый вебсервером. И, не совсем понятно что с данными в базе - от простого изменения кодировки таблиц/полей данные (точнее, их кодировка) сами собой не поменяются.


Андрей159между 1251 и utf8 разница только в том что символы і ї є будут "?"Ага. Вам эти символы не нужны? ;-)
...
Рейтинг: 0 / 0
03.03.2013, 02:23
    #38172270
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
Андрей159может вместо $row что-то другое должно быть или mysql_fetch_assoc ?Дык в мануале же пример есть.
...
Рейтинг: 0 / 0
03.03.2013, 02:36
    #38172276
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] В базу данных MySQL данные заносятся не полностью.
vkle,
оо... хоть на миллиметр сдвинулось. Оказывается данные поступают. А я думал что в ASCII тоже все символы будут одинаковы. Запустил Fiddler2 и проинспектировал. Закрыл хрому и открыл обыкновенный бравзер интернет экспловер. там по умолчанию стоит юникод. Поменял на 1251 и увидел свой код а юникод стал крокодилом. Теперь хоть знаю что расследовать. Теперь паинтересуюсь только какой ответ дает сервер в request header. Может там ответ кроется
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] В базу данных MySQL данные заносятся не полностью. / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]