Проблема с кодировкой. Заключается в следующем: При регистрации русские знаки попадают в базу под вот такими символами ???�?�?�???????� ???�?�????, Кодировка таблиц cp1251, изменение кодировки сайта не влияет на отображение, если изменить эти символы на русские то на сайте они так же отображаются знаками вопроса. Подскажите где искать? код registr.php Код (Text): <?php function valid_email($email) { //Small function to validate the email $result = TRUE; if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email)) { $result = FALSE; } return $result; } if(!isset($_SESSION['username'])){ if(isset($_POST['reg'])){ $accountName = mysql_real_escape_string($_POST['accountName']); $accountPass = mysql_real_escape_string($_POST['accountPass']); $accountEmail = mysql_real_escape_string(stripslashes($_POST['accountEmail'])); $accountEmail2 = mysql_real_escape_string(stripslashes($_POST['accountEmail2'])); mysql_select_db($server_adb,$connection_setup)or die(mysql_error()); $check_query = mysql_query("SELECT * FROM account WHERE username = '".$accountName."'"); $check = mysql_fetch_assoc($check_query); $firstName = mysql_real_escape_string(ucfirst(strtolower($_POST['firstName']))); $lastName = mysql_real_escape_string(ucfirst($_POST['lastName'])); $country= $_POST['country']; $dobD= $_POST['dobDay']; $dobM= $_POST['dobMonth']; $dobY= $_POST['dobYear']; $dob= date ("Y-m-d", strtotime($dobY."-".$dobM."-".$dobD)); //YYYY-MM-DD $question= $_POST['question1']; $answer= mysql_real_escape_string($_POST['answer1']); if(!$check){ if($accountPass != stripslashes($_POST['accountPassc'])){ $error[]=$re['error2']; } if(empty($firstName)) $error[] = $re['error3']; if(empty($lastName)) $error[] = $re['error4']; if(empty($accountEmail) || !valid_email($accountEmail)){ $error[]=$re['error5']; } if($accountEmail != $accountEmail2){ $error[]=$re['error9']; } if(empty($accountPass)){ $error[]=$re['error6']; } if($dobD == '0' || $dobY == '0' || $dobM == '0'){ $error[]=$re['error8']; } if($question == 0 || empty($answer)){ $error[]=$re['error10']; } if(strlen($_POST['accountPass']) < 5 || strlen($_POST['accountPass']) > 15 ){ $chars = strlen($accountPass); die("<p align='center'>".$Reg['Reg6']."<br><br>".$Reg['Reg9']."<br><br>".$Reg['Reg10']."".$chars." ".$Reg['Reg11']."<br><br>".$Reg['Reg12']."<br><br>".$Reg['Reg13']."</p><p align='center'><a href='register.php'><button class='ui-button button1' type='submit' value='back' tabindex='1'><span><span>".$back['back']."</span></span></button></a></p>"); } }else{ $error[]=$re['error7']; } ?> <?php if(isset($error) && count($error) > 0){ echo '<div class="errors" align="center">'; foreach($error as $errors){ echo "<font color='red'>*".$errors."</font><br />"; } echo '</div>'; echo '<meta http-equiv="refresh" content="3"/>'; } else { $ip = getenv("REMOTE_ADDR"); mysql_select_db($server_adb,$connection_setup)or die(mysql_error()); $accinfoq = mysql_query("SELECT * FROM account WHERE username = '".$accountName."'"); $accinfo = mysql_num_rows($accinfoq); if ($accinfo == 0) { $sha_pass_hash= sha1(strtoupper($accountName ) . ":" . strtoupper($accountPass)); $register_logon = mysql_query("INSERT INTO account (username,sha_pass_hash,email,last_ip,expansion) VALUES (UPPER('".$accountName."'), CONCAT('".$sha_pass_hash."'),'".$accountEmail."','".$ip."','2')")or die(mysql_error()); //удаляем запрос к базе на права зарегистрированного пользователя (т.к ошибка) //$register_logon = mysql_query("INSERT INTO rbac_account_groups (groupId) VALUES ('1')")or die(mysql_error()); mysql_select_db($server_adb,$connection_setup)or die(mysql_error()); $accountinfo = mysql_fetch_assoc(mysql_query("SELECT * FROM account WHERE username = UPPER('".$accountName."')")); mysql_select_db($server_db,$connection_setup)or die(mysql_error()); $register_cms = mysql_query("INSERT INTO users (id,class,firstName,lastName,registerIp,country,birth,quest1,ans1) VALUES ('".mysql_real_escape_string($accountinfo['id'])."','0','".$firstName."','".$lastName."','".$ip."','".$country."','".$dob."','".$question."',UPPER('".$answer."'))"); if ($register_logon == true && $register_cms == true) { echo '<div class="alert-page" align="center">'; echo '<div class="alert-page-message success-page"> <p class="text-green title"><strong>'.$re['scc1'].'</strong></p> <p class="caption">'.$re['scc2'].'</p> <p class="caption"><a href="account_man.php">'.$re['goPanel'].'</a></p> </div>'; echo '</div>'; $_SESSION['username'] = $accountName; echo '<meta http-equiv="refresh" content="3;url=account_man.php"/>'; } else{ //MODIFIED TO DELETE THE ACCOUNT IF SOMETHING IS WRONG DURING THE REGISTRATION mysql_select_db($server_adb,$connection_setup)or die(mysql_error()); $accdel= mysql_query("DELETE FROM account WHERE username = '".$accountName."'"); echo '<div class="errors" align="center"><font color="red">'.$re['error1'].'</font><br><br />'; echo'<a href="register.php"><button class="ui-button button1" id="back" tabindex="1" /><span><span>'.$re['back'].'</span></span></button></a></div>'; } } } ?>
6stPROD, ты 9 лет на рынке написания сайтов и внезапно на тебя напала кодировка. ужас. у сережи муравьева спроси. он же у вас кодер. Добавлено спустя 2 минуты 41 секунду: во-первых валидацию мыла делать бесполезно. ну или можно для этого использовать готовые правильные решения. во-вторых ты вернешь волс если НЕ прегматч. иначе (то есть если прегматч) ты вернеш трю. а чо сразу не вернуть результат прегматча? для 9 лет на рынке сайтов с ценниками под 20килорублей слишком рукожопый код. в-третьих а как же айдиэн?
Научись разговаривать, те люди занимаются своими делами, а я всего лишь получаю бабки за фирму, которую когда то купили, а то что я сам изучаю php не делает меня мегаопытным кодером. Поэтому в следующий раз думай что пишешь,и не бери на себя дох*я. Чревато бывает по жизни ! Добавлено спустя 3 минуты 31 секунду: Код (Text): $result = TRUE; if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email)) { $result = FALSE; } return $result; Теперь же по этому: - как проверка по мылу поспособствует правильному отображению символов на сайте?
а чо ты дерзкий такой? это непрофессионально. критику нужно выдерживать уметь. или тебя мамка недовоспитала? и мне твои оправдания про фирму и саморазвития - вилами по воде. это интернет, детка. есть сайт на котором ты заявляешь себя мегакрутым программистом, есть сайт на котором ты весь такой крутой и со снежным членом позируешь. мы все публичные личности. привыкни. и тут вдруг вся твоя крутость разбивается о твои дебильные вопросы. и начинается обычный для интернетов троллинг человека который сам себе противоречит. а ты обидульки кидаешь и угрозами угрожаешь. ты меня снежным пенисом собрался насиловать? да? знаниями своими изнасилуй. изобрази что ты хотя бы на крупицу так крут как светишься у себя на сайте и в соц.сетях. и да, кодировка это стандартные грабли любого новичка. особенно который девять лет на рынке проф.разработки сайтов. по кодировке уже херова туча материала написана. если тебя в гугле не забанили - иди там знаний черпай. не надо создавать очередную тему в которой адекватные люди лишний раз скопипастят уже ранее написанный материал. просто тебе лениво было его искать а им не лениво перепечатать.
Любишь же ты потеребонькать язычком, девочка твоя наверняка в восторге...хотя откуда она у тебя, если своим умом ты сутками поражаешь форумы. Если нечего ответить - не стоит срать в теме. знаешь ответ - подскажи, нет так не вмешивайся. а критику оставь при себе, интернет-воин Добавлено спустя 36 секунд: Прошу закрыть тему. Нет смысла общаться с ишаками
6stPROD Модератор не личная собачка. Предупреждение за это и за то, что ты первый начал срач. Добавлено спустя 35 секунд: помолчит сегодня