у меня проблемма щас пишу двиг для форума и возникла такая проблемма мне надо отобразить все темы с определенным названием когда тема на инглише то все норм а когда на руссом то не ищет как я понял дело в маське в столбце надо сделать правильное "сравнение" сам запрос выглядит так: $result= mysql_query("SELECT * FROM `tops` WHERE `name` = CONVERT( _utf8 '$caption' USING ascii )"); но так с темами на ингише все ном а когда на руссоком то жопа( помогите плиз что надо выбрать в "ставнении" для столбца name
xXvladXx У тебя скорее всего кодировка страницы отличается от кодировки MySQL. У меня была подобная трабла. Поставь и там и там cp1251 и не парься. А если уж без перекодировки никак не обойтись то пользуйся функцией convert_cyr_string() http://forum.antichat.ru/showpost.php?p=523197&postcount=1157
Уважаемые мемберы, подскажите, пожалуйста, реализуемо ли это В ПРИНЦИПЕ? Есть html форма, с которой отсылаются данные php скрипту. Фрагмент формы: ........ Code: <input type=text name=var value=""> ......... Условия: Пхп скрипт ждет переменную $var, сравнивает ее с переменной $compare (которая задается самим скриптом): PHP: if $compare == $_REQUEST['var'] ..... .. делаем определенные действия. (на самом деле, там не REQUEST, но в общем все сводится к этому) Собственно, сам вопрос: КАК можно в поле value в хтмл форме подставить $var, чтобы скрипт сравнивал $compare==$compare; Например, сделать так: Code: <input type=text name=var value="$compare"> не получается Заранее спасибо.
PHP: <input type=text name=var value="<?=$compare?>"> Но при этом должен быть включён парсинг PHP кода в файлах .html
фактически, html форма выглядит как php скрипт: PHP: <? .......... echo ' <input type=text name=var value="" '; но с приведенными выше примерами нифига не получается ( При отправке формы php дает notice, что переменная $compare не определена и передает скрипту пустое значение.. Заранее html форме неизвестно значение $compare, оно генерируется пхп скриптом на стадии получения данных с формы. В итоге пхп скрипт или выдает ТЕКСТ $var или возвращает пустое значение..
PHP: <? $compare='some_value'; $compare=isset($_REQUEST['var'])?$_REQUEST['var']:$compare; echo('<input type=text name=var value="'.$compare.'">'); ?>
PHP: <? function Utf8ToWin($fcontents) { $out = $c1 = \; $byte2 = false; for ($c = 0;$c < strlen($fcontents);$c++) { $i = ord($fcontents[$c]); if ($i <= 127) { $out .= $fcontents[$c]; } if ($byte2) { $new_c2 = ($c1 & 3) * 64 + ($i & 63); $new_c1 = ($c1 >> 2) & 5; $new_i = $new_c1 * 256 + $new_c2; if ($new_i == 1025) { $out_i = 168; } else { if ($new_i == 1105) { $out_i = 184; } else { $out_i = $new_i - 848; } } $out .= chr($out_i); $byte2 = false; } if (($i >> 5) == 6) { $c1 = $i; $byte2 = true; } } return $out; } ?> ИЛИ PHP: <?php function UTF8toCP1251($str){ // by SiMM, $table from http://ru.wikipedia.org/wiki/CP1251 static $table = array("\xD0\x81" => "\xA8", // Ё "\xD1\x91" => "\xB8", // ё // украинские символы "\xD0\x8E" => "\xA1", // Ў (У) "\xD1\x9E" => "\xA2", // ў (у) "\xD0\x84" => "\xAA", // Є (Э) "\xD0\x87" => "\xAF", // Ї (I..) "\xD0\x86" => "\xB2", // I (I) "\xD1\x96" => "\xB3", // i (i) "\xD1\x94" => "\xBA", // є (э) "\xD1\x97" => "\xBF", // ї (i..) // чувашские символы "\xD3\x90" => "\x8C", // Ӑ (А) "\xD3\x96" => "\x8D", // Ӗ (Е) "\xD2\xAA" => "\x8E", // Ҫ (С) "\xD3\xB2" => "\x8F", // Ӳ (У) "\xD3\x91" => "\x9C", // ӑ (а) "\xD3\x97" => "\x9D", // ӗ (е) "\xD2\xAB" => "\x9E", // ҫ (с) "\xD3\xB3" => "\x9F", // ӳ (у) ); return preg_replace(#([\xD0-\xD1])([\x80-\xBF])#se, isset($table["$0"]) ? $table["$0"] : chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70)) , $str ); } ?> PS функции не мои
Спасиб, НО... пхп скрипт-обработчик я модифицировать НЕ МОГУ (он находится на сервере, прав нету). Единственный выход - мучить форму (или пхп или хтмл, что, в принципе, все равно)
Ээ не понял, а что тебе надо-то? Или понял? Тебе хочется чтобы $compare равнялась $compare без знания этой $compare? Не выйдет. Такое может получиться только если идет eval()
вопрос. я заношу в бд через текст ареу текст с <img scr=img/male.gif>, думал что при выводе в браузер будет видно текст и рисунок, а рисунка нет, выводит просто пустой квадрат, почему так?
проверь пути,тоесть папку где лежит срипт вывода контента и где относительногонего находятся картинки
Ну осмелюсь предположить, что он картинку не находит... Попробуй абсолютные пути прописывать, если использование относительных выхывает у тебя затруднение.
не знаю может тут уже было, не искал, как сделать, чтобы в бд русский шрифт записывался русским а не иероглифами? ну и в последствии выводить
оправка письма вот такая проблема возникла. Оправляю письма на yahoo не доходит, а на меил доходит нормально. Отключил в настройках спам контроль письма доходят через один и помечатся как спам. поискал в нете нашел вот такое объяснение Как можно это обойти? Если можно сразу с хидерами. XopoIII по пробуй при соединение с базой прописать. И база у тя должна быть в этой кодировке. PHP: mysql_query("SET NAMES cp1251");
mysql_query("SET NAMES cp1251"); и mysql_query("SET CHARSET cp1251"); и база должна быть в cp1251 если бзу неможеш сделать, переделай все таблицы в cp1251
gibson, да никак ты это не сделаешь... Развёртывай у себя на хосте SMTP-сервер... Хотя, там тоже не дураки сидят, и при большом количестве спама добавят всю подсеть в бан... Это дело хидерами не обходится...