Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

24.04.2010, 16:40
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
снестите таблицу, создайте ее заново из бэкапа (пустую, с указаной кодировкой utf-8_general_ci).
а дальше следуйте инструкциям:
1)В файле .htaccess должна быть строка
AddDefaultCharset UTF-8
2)В верху php скрипта
header('Content-Type: text/html; charset=utf-8');
3)В редакторе (среде разработки) не забудьте переключить на UTF-8
4)Сразу после подключения к mysql выполняйте запрос
SET NAMES 'utf8'
источник
|
|
|

24.04.2010, 16:52
|
|
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме: 678893
Репутация:
102
|
|
1)В файле .htaccess должна быть строка
AddDefaultCharset UTF-8
2)В верху php скрипта
header('Content-Type: text/html; charset=utf-8');
не находишь бредом указывать кодировку 2 раза? =\
это всеравно что
PHP код:
<?php
header("Content-Type: text/html; charset=utf8");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
|
|
|

24.04.2010, 17:09
|
|
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме: 36432
Репутация:
0
|
|
Ваш пример работает. Вроде. Но на моем примере чего - то не получается. Скажите, что я сделал не так
Код:
CREATE TABLE `Nokia` (
`ID` int(16) NOT NULL auto_increment,
`Mark` varchar(16) default NULL,
`Description` varchar(512) default NULL,
`Photo` blob,
`Price` double NOT NULL,
`Incoming` date default NULL,
`IsEnabled` smallint(1) NOT NULL,
PRIMARY KEY (`ID`),
KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=215 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=215 ;
Кста, почему автоинкремент дважды повторяется?
PHP код:
.
.
.
header("Content-Type: text/html; charset=cp1251");
.
.
.
mysql_query("SET NAMES cp1251");
.
.
$Description = htmlentities($_POST['Description_Inp']);
.
.
$QUERY = "Insert into ".$TABLENAME." values
(NULL".",
'".$Mark."',
'".$Description."',
'".$Photo_Data."',
'".$Price."',
'".$Incoming."',
'".$IsEnabled."'
)";
//echo $QUERY;
$result = mysql_query($QUERY, $link);
Как вы уже догадались, вся проблемма в поле Description
|
|
|

24.04.2010, 17:22
|
|
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме: 140663
Репутация:
34
|
|
Radical Edward
Смотрели какой запрос уходит в базу?
Кстати, description можно сделать TEXT
PS Почему никто патологически не юзает PDO? Это же удобно и о фильтрации ввода позаботились до нас.
Последний раз редактировалось $now; 24.04.2010 в 17:25..
|
|
|

24.04.2010, 17:24
|
|
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме: 678893
Репутация:
102
|
|
бикоз оф писать надо
Код:
$Description = htmlentities($_POST['Description_Inp'], ENT_QUOTES, "cp1251" );
$query у тебя какой то такой =\
лучше явно указывай, что бы потом не было проблем
Код:
INSERT INTO `table`(`Mark`,`Description`,`Photo`,`Price`,`Incoming`,`IsEnabled`) VALUES(....);
id писать не надо, на то и auto_increment
|
|
|

24.04.2010, 17:26
|
|
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме: 36432
Репутация:
0
|
|
$now
Вот то , что идет в базу. То есть, не правильная сама кодировка на странице...
Код:
Insert into Nokia values (NULL, 'Ìàðêà', 'Îïèñàíè¸', '', '222.222', '2009-01-22', '1' )
Failure
Исправил, запрос изменился к "лучшему"
PHP код:
Insert into Nokia values (NULL, 'надпись', 'ііі', '', '', '', '0' )
&-#1053;о&-# &-#1091;р&-#1103;м&-#1089;
(без минусов)
Последний раз редактировалось Radical Edward; 24.04.2010 в 17:32..
|
|
|

24.04.2010, 17:29
|
|
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме: 140663
Репутация:
34
|
|
У формы добавьте атрибут accept-charset="cp1251" может поможет
|
|
|

24.04.2010, 17:33
|
|
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме: 36432
Репутация:
0
|
|
НУ все. После высокого прыжка с бубном, нечто похожее получилось. Скрипт вывода нормально выводит данные после скрипта ввода, однако теперь сам АДМИН не хочет интерпретировать введенные мною символы.
Есть идеи?
Спасибо за предоставленную помощь
Последний раз редактировалось Radical Edward; 24.04.2010 в 17:40..
|
|
|

24.04.2010, 18:04
|
|
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме: 140663
Репутация:
34
|
|
Ну так у вас в админе поди utf-8 стоит. А данные то вы вставляете в 1251
|
|
|

25.04.2010, 01:32
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
апаю пост т.к. ответа не получил, готов даже вознаградить материально того кто поможет
Тема такая нужно написать чекер емалов для yahoo собстно написал, код но проблема в том что пост запрос не отправляеться. Я не давно только начал работать с курл. Есть две функции как видно из листинга первая получает значения вторая отправляет, но вот если первая работает нормально, то вторая отказываеться вообще. Да и в куки помоему вообще ничего не попадает. Вторая функция не отправляет POST запрос вообще.
Собственно код не пинайте сильно
Код:
<?php
$cookiefile = tempnam("/tmp", "cookies");
$refer="https://login.yahoo.com/config/login_verify2?&.src=ym";
$username="login";
$password="pass;
$url="https://login.yahoo.com/config/login?";
$agent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
function GetData($url){
global $cookiefile,$refer,$url,$agent;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
$answer=preg_match("#hash2(.*?)\<table#is",$result,$match);
preg_match_all('#name="(.*?)"#is',$match[0],$key_match);
preg_match_all("#value=\"(.*?)\"#is",$match[0],$value_match);
foreach($key_match[1] as $key)
foreach($value_match[1] as $value)
$post_array[$key]=$value;
$post_array['login']=$username;
$post_array['passwd']=$password;
$post_array['.Save']="Sign+In";
$post=http_build_query($post_array);
curl_close ($ch);
return $post;
}
function SendData($url,$post,$refer){
global $cookiefile,$refer,$url,$agent,$username,$password;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
}
$post=GetData(url);
$data=SendData($refer,$post,$refer);
echo $data;
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|