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

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:
    729
    Reputations:
    266
    Только вот в вебе надо юзать utf-8. Всегда.
     
  4. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    PHP:
    $query "SELECT VERSION()"
    $ver mysql_query($query); 
    if(!
    $ver) exit("Ошибка при определении версии MySQL-сервера"); 
    $version mysql_result($ver0); 
    list(
    $major$minor) = explode("."$version); 
    $ver $major.".".$minor
    if((float)
    $ver >= 4.1mysql_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;  
    }    
    ?>