$in_login = $_POST['login']; $in_pas = $_POST['pas']; $sql_query = "SELECT * FROM `user` where `user_login` = '$in_login' and `user_password` = '$in_pas'";
При переносе форума vBulletin столкнулся с небольшой траблой, вместо букв "ш" пишет "�?" Что ни так? Хелп!!!
Gray_Wolf, да utf и cp1251 это ясно. Как дамп исправить? Тут есть статья http://hostinghelp.biz/content/решение-проблем-с-нарушением-отображения-букв-ш-и-и-в-резултате-неудачной-перекодировки-mysq но там перл
Ну а что вам мешает сделать дамп и поменять кодировку в какомнить notepad++? Хотя если любите извращения по можете попробовать что-то типо: PHP: $str=str_replace («И»,"& #1048;",$str); $str=str_replace («ш»,"& #1096;",$str); только между "&" и "#" пробел уберите.
Нет смысла, уже менял, нету букв "ш" и "И" вместо них квадраты и знаки вопроса. Это болезнь. Как бороться?
писал вроде уже именно тебе - 1. Переводим весь текст hex: $text = bin2hex($text); 2. Потом примерно в таком цикле: PHP: $count = strlen($text); for ($i=0;$i<$count;$i++) if ($text{$i} тут условие) { ......... // Только тут не забываем, что hex любого символа состоит из двух значений, для условий в цикле } } диапазон "нормальных букв" вернее их hex-кодов известен? Известен. Значит пишем функцию, посимвольно перебирающую текст, выбирающую hex-значения не из диапозона кроме сиволов "пробел" и "перенос строки" и прочего дерьма (спец символов). Получим твои "ш" и "и" в непонятной кодировке или просто засранные при дампе, потом обычный str_replace непонятных символов на понятные hex коды "ш" и "и", потом преобразование полученных данных в хексе обратно в читабельный вид вот такой функцией: PHP: function hex2bin($hh) { if (!is_string($hh)) return null; $rr=''; for ($aa=0; $aa<strlen($hh); $aa+=2) { $rr.=chr(hexdec($hh{$aa}.$hh{($aa+1)})); } return $rr; } ЗЫЖ Или еще проще - просто выкупаешь hex-коды этих квадратов и знаков вопросов, весь текст в hex (как описано выше), потом сразу str_replace, потом обратно в текст (функция выше)
Проблема решена! Code: /* * Исправление кодировки букв "ш" и "И" в MYSQL * автор: Nc_Soft * 18.07.09 */ /* Частенько встречается при переносе бд, либо при шаманстве с кодировками буквы "ш" и "И" оказываются битыми (речь идет о utf-8 конечно) буква "ш" = chr(209).chr(63) / правильно chr(209).chr(136) буква "И" = chr(208).chr(63) / правильно chr(208).chr(152) Чтобы пофиксить делаем 2 запроса */ UPDATE `tbl` SET `pole` = REPLACE( `pole`, CONCAT( CHAR(209), CHAR(63) ), CONCAT( CHAR(209), CHAR(136) ) ); UPDATE `tbl` SET `pole` = REPLACE( `pole`, CONCAT( CHAR(208), CHAR(63) ), CONCAT( CHAR(208), CHAR(152) ) );
Народ, дано в MySQL поле типа text. Как добавлять в него данные так, что бы они не заменяли содержимое поле, а дополняли его, т.е. приписывались бы к содержимому вконце?
mysql Добрый вечер уважаемые гуры mysql! У меня такой вопросец: можно ли сослаться к столбцу "country" таблички не по имени а типа вот так - Code: ORDER BY `column[4]` ? Или это область фантастики?