Касяки с кодировками

Discussion in 'PHP' started by kdk, 11 Nov 2009.

  1. kdk

    kdk Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    112
    Likes Received:
    5
    Reputations:
    -3
    У меня есть бд
    CREATE TABLE `asd1` (
    `id` varchar(10) NOT NULL,
    `FIO` varchar(50) default NULL
    );
    Почему когда я ввожу русские символы меняеться кодировка и бд сохраняеться непонятная кодировка(фывфы).
    Можете подсказать в чем касяк????

    index.php
    PHP:
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.form.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){

      // связываем событие submit с нужной формой
      $('#izmenNastroikiObshii').submit(function() {
        var options = {
          target: "#infoNastroiki",
        beforeSend: function ()
                            {
                              $("#infoNastroiki").html("<img src='ajax-loader.GIF' />");
                            },
        timeout: 3000 // тайм-аут
      };

          $(this).ajaxSubmit(options);
        return false;
      });



    });
    </script>

    <div id='infoNastroiki'></div>
    <form id="izmenNastroikiObshii" action="look.php" method="post">
                Текст
                <input type="text" name="FIO" id="FIO">
    <input type="submit" value="Send">
    </form>
    look.php

    PHP:
    <?php
    $connect
    =@mysql_connect("localhost","root","");
    if(!
    $connect)
        {
            exit(
    "<p>В настоящий момент база даных не доступна.");
        }
    if(!@
    mysql_select_db("asd",$connect))
        {
            exit(
    "<p>В настоящий момент база даных не доступна.");
        }

    $FIO=$_POST['FIO'];
    $zapros="INSERT INTO `asd1` ( `FIO` ) VALUES ('$FIO');";

    if(!
    mysql_query($zapros))
        {
            
    $error="error Ошибка с базой данных зайдите позже.";
        }


    function 
    closemysql()
        {
         
    mysql_close($connect);
    }
    ?>
     
  2. Termin@L

    Termin@L Elder - Старейшина

    Joined:
    7 Dec 2006
    Messages:
    183
    Likes Received:
    43
    Reputations:
    53
    CREATE TABLE `asd1` (
    `id` varchar(10) NOT NULL,
    `FIO` varchar(50) default NULL
    )
    ENGINE = MYISAM DEFAULT CHARSET = cp1251;
    попробуй так.
     
  3. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    Только вот в вебе надо юзать utf-8. Всегда.
     
  4. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    PHP:
    $query = "SELECT VERSION()"; 
    $ver = mysql_query($query); 
    if(!
    $ver) exit("Ошибка при определении версии MySQL-сервера"); 
    $version = mysql_result($ver, 0); 
    list(
    $major, $minor) = explode(".", $version); 
    $ver = $major.".".$minor; 
    if((float)
    $ver >= 4.1) mysql_query("SET NAMES 'cp1251'"); 
    Используй сразу после
    mysql_connect() & mysql_select_db()
     
  5. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    как сказал кто-то из великих: "Существует всего две кодировки: Unicode и Someothershit"


    по теме: set names копай
     
  6. TDKronuS

    TDKronuS Member

    Joined:
    9 Nov 2009
    Messages:
    64
    Likes Received:
    13
    Reputations:
    3
    Если уже ничего не поможет, то принудительно меняй:

    PHP:
    <?PHP   
     
    function utf8_win1($s) {      
    $s=strtr($s,array("\xD0\xB0"=>"а", "\xD0\x90"=>"А", "\xD0\xB1"=>"б", "\xD0\x91"=>"Б","\xD0\xB2"=>"в", "\xD0\x92"=>"В", "\xD0\xB3"=>"г", "\xD0\x93"=>"Г", "\xD0\xB4"=>"д", "\xD0\x94"=>"Д", "\xD0\xB5"=>"е", "\xD0\x95"=>"Е", "\xD1\x91"=>"ё", "\xD0\x81"=>"Ё","\xD0\xB6"=>"ж", "\xD0\x96"=>"Ж", "\xD0\xB7"=>"з", "\xD0\x97"=>"З", "\xD0\xB8"=>"и","\xD0\x98"=>"И", "\xD0\xB9"=>"й", "\xD0\x99"=>"Й", "\xD0\xBA"=>"к", "\xD0\x9A"=>"К","\xD0\xBB"=>"л", "\xD0\x9B"=>"Л", "\xD0\xBC"=>"м", "\xD0\x9C"=>"М", "\xD0\xBD"=>"н","\xD0\x9D"=>"Н", "\xD0\xBE"=>"о", "\xD0\x9E"=>"О", "\xD0\xBF"=>"п", "\xD0\x9F"=>"П","\xD1\x80"=>"р", "\xD0\xA0"=>"Р", "\xD1\x81"=>"с", "\xD0\xA1"=>"С", "\xD1\x82"=>"т","\xD0\xA2"=>"Т", "\xD1\x83"=>"у", "\xD0\xA3"=>"У", "\xD1\x84"=>"ф", "\xD0\xA4"=>"Ф","\xD1\x85"=>"х", "\xD0\xA5"=>"Х", "\xD1\x86"=>"ц", "\xD0\xA6"=>"Ц", "\xD1\x87"=>"ч", "\xD0\xA7"=>"Ч", "\xD1\x88"=>"ш", "\xD0\xA8"=>"Ш", "\xD1\x89"=>"щ", "\xD0\xA9"=>"Щ", "\xD1\x8A"=>"ъ", "\xD0\xAA"=>"Ъ", "\xD1\x8B"=>"ы", "\xD0\xAB"=>"Ы", "\xD1\x8C"=>"ь", "\xD0\xAC"=>"Ь", "\xD1\x8D"=>"э", "\xD0\xAD"=>"Э", "\xD1\x8E"=>"ю", "\xD0\xAE"=>"Ю", "\xD1\x8F"=>"я", "\xD0\xAF"=>"Я", "\xD0\x87"=>"Ї", "\xD1\x97"=>"ї", "\xD1\x96"=>"і", "\xD0\x86"=>"І")); 
    return 
    $s;  
    }    
    ?>