Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с русским языком 
V
    Опции темы
ziga
Дата 14.5.2010, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



создал страничку регистрации:

Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
<title>Регистрация</title>

<link rel="stylesheet" type="text/css" href="styles.css" />

</head>

<body>

<div id="carbonForm">
    <h1>Регистрация</h1>

    <form action="submit.php" method="post" id="signupForm">

    <div class="fieldContainer">

        <div class="formRow">
            <div class="label">
                <label for="email">Телефон:</label>
            </div>
            
            <div class="field">
                <input type="text" name="telephon" id="telephon" />
            </div>
        </div>
        
        <div class="formRow">
            <div class="label">
                <label for="name">Фамилия:</label>
            </div>
            
            <div class="field">
                <input type="text" name="first_name" id="first_name" />
            </div>
        </div>
        
        <div class="formRow">
            <div class="label">
                <label for="name">Имя:</label>
            </div>
            
            <div class="field">
                <input type="text" name="last_name" id="last_name" />
            </div>
        </div>
                
        <div class="formRow">
            <div class="label">
                <label for="name">Отчество:</label>
            </div>
            
            <div class="field">
                <input type="text" name="midle_name" id="midle_name" />
            </div>
        </div>
        
        
        <div class="formRow">
            <div class="label">
                <label for="email">Email:</label>
            </div>
            
            <div class="field">
                <input type="text" name="email" id="email" />
            </div>
        </div>
        
        <div class="formRow">
            <div class="label">
                <label for="pass">Пароль:</label>
            </div>
            
            <div class="field">
                <input type="password" name="pass" id="pass" />
            </div>
        </div>
        
        
    </div> <!-- Closing fieldContainer -->
    
    <div class="signupButton">
        <input type="submit" name="submit" id="submit" value="Signup" />
    </div>
    
    </form>
        
</div>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>

</body>
</html>



далее перехожу на страничку проверки правильности ввода:

Код

<?php
// Error reporting:
error_reporting(E_ALL^E_NOTICE);

// This is the URL your users are redirected,
// when registered succesfully:

$redirectURL = 'http://wil_test.ru/module/sign_up/registr.php?telephon='.$_POST['telephon'].'&first_name='.$_POST['first_name'].'&last_name='.$_POST['last_name'].'&midle_name='.$_POST['midle_name'].'&email='.$_POST['email'].'&pass='.md5($_POST['pass']);

$errors = array();

// Checking the input data and adding potential errors to the $errors array:

if(!$_POST['telephon'] || strlen($_POST['telephon'])<11 || strlen($_POST['telephon'])>11)
{
    $errors['telephon']='Ошибка!<br />Телефон должен быть в федеральном формате 11 цифр.';
}

if(!$_POST['first_name'] || strlen($_POST['first_name'])<3 || strlen($_POST['first_name'])>50)
{
    $errors['first_name']='Ошибка!<br />Размер фамилии должно быть от 3 до 50 симфолов.';
}

if(!$_POST['last_name'] || strlen($_POST['last_name'])<3 || strlen($_POST['last_name'])>50)
{
    $errors['last_name']='Ошибка!<br />Размер имени должно быть от 3 до 50 симфолов.';
}

if(!$_POST['midle_name'] || strlen($_POST['midle_name'])<3 || strlen($_POST['midle_name'])>50)
{
    $errors['midle_name']='Ошибка!<br />Размер отчества должно быть от 3 до 50 симфолов.';
}

if(!$_POST['email'] || !preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $_POST['email']))
{
    $errors['email']='Проверте правильноть ввода email!';
}

if(!$_POST['pass'] || strlen($_POST['pass'])<5)
{
    $errors['pass']='Проверте поле пароль!<br />Размер пароль не должен быть меньш 5 симвалов.';
}

// Checking whether the request was sent via AJAX
// (we manually send the fromAjax var with the AJAX request):

if($_POST['fromAjax'])
{
    if(count($errors))
    {
        $errString = array();
        foreach($errors as $k=>$v)
        {
            // The name of the field that caused the error, and the
            // error text are grouped as key/value pair for the JSON response:
            $errString[]='"'.$k.'":"'.$v.'"';
        }
        
        // JSON error response:
        die    ('{"status":0,'.join(',',$errString).'}');
    }
    
    // JSON success response. Returns the redirect URL:
    echo '{"status":1,"redirectURL":"'.$redirectURL.'"}';

    exit;
}

// If the request was not sent via AJAX (probably JavaScript
// has been disabled in the visitors' browser):

if(count($errors))
{
    echo '<h2>'.join('<br /><br />',$errors).'</h2>';
    exit;
}

header("Location: ".$redirectURL);
?>


если всё правильно перехожу на страничку записи в БД

Код

<?php

    mysql_connect("localhost", "root", "") or die (mysql_error());
    mysql_select_db("wil_test") or die (mysql_error());

    mysql_query("set character_set_client    ='cp1251'");
    mysql_query("set character_set_results    ='cp1251'");
    mysql_query("set collation_connection    ='cp1251_general_ci'");
    
    $telephon=$_GET['telephon'];
    $first_name=$_GET['first_name'];
    $last_name=$_GET['last_name'];
    $midle_name=$_GET['midle_name'];
    $email=$_GET['email'];
    $pass=$_GET['pass'];
    
    echo "$telephon, $first_name, $last_name, $midle_name, $email, $pass";
    
    $sql = "insert into t_user (first_name, last_name, midle_name, telephon, role, mail, status, pass) value
            ('$first_name', '$last_name', '$midle_name', '$telephon', 'ROLE_USER', '$email', 1, '$pass') ";
    
    $qry = mysql_query($sql);
    
    if(!$qry)
    {
        echo 'Ошибка выполнения запроса: ' . mysql_error();
        exit();    
    }

?>


проблема в том что и в базе и в echo выводятся какие то каракули вместо русских букв, помогите разобраться что я делаю не так
PM MAIL   Вверх
StachelDraht
Дата 14.5.2010, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: 1
Всего: 1



поменяй кодировку на UTF-8

Это сообщение отредактировал(а) StachelDraht - 14.5.2010, 10:24
PM MAIL   Вверх
Sanchezzz
  Дата 14.5.2010, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Код

mysql_query('SET NAMES CP1251');

также пересохраните страницу внужный вам формат и header ('Content-type: text/html; charset=windows-1251');

Это сообщение отредактировал(а) Sanchezzz - 14.5.2010, 10:26


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
CruorVult
Дата 14.5.2010, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



после коннекта попробуйте:
Код

mysql_query('SET NAMES cp1251');


не успел)

Это сообщение отредактировал(а) CruorVult - 14.5.2010, 10:27
PM MAIL Skype   Вверх
StachelDraht
Дата 14.5.2010, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: 1
Всего: 1



а JSON нормально относится к windows-1251 ???
PM MAIL   Вверх
Sanchezzz
  Дата 14.5.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



можно роботать но php функции которые работают с json они работают в utf-8 также аякс отправляет данные всегда в utf-8 (в фреймворках можно указывать какая кодировка))

Добавлено через 3 минуты и 47 секунд
вообще сайты сча лудше делать на utf-8 темблее на пос совецком пространсве любят писать на разных языках. пора бы отказыватся от cp1251.

Это сообщение отредактировал(а) Sanchezzz - 14.5.2010, 10:31


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ziga
Дата 14.5.2010, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



исправил на страничке регистрации 
Код

<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />


Добавил в проверку 
Код

header ('Content-type: text/html; charset=utf-8');


и добавил в запись БД
Код

header ('Content-type: text/html; charset=utf-8');


теперь в базу записывается нормально но echo отображает так же всё в квадратиках

Добавлено через 7 минут и 8 секунд
Всё сделал одобавил взапись в БД html и всё заработало

Код

<html>
<head>

<title>Регистрация</title>
<link rel="stylesheet" type="text/css" href="styles.css" />

</head>

<body>


Всем спасибо
PM MAIL   Вверх
Guedda
Дата 14.5.2010, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Исправь
Код

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

и будет счастье


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.