Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Касяки с кодировками (https://forum.antichat.xyz/showthread.php?t=155633)

kdk 11.11.2009 01:56

Касяки с кодировками
 
У меня есть бд
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' />");
                        },
    
timeout3000 // тайм-аут
  
};

      $(
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);
}
?>


Termin@L 11.11.2009 02:54

CREATE TABLE `asd1` (
`id` varchar(10) NOT NULL,
`FIO` varchar(50) default NULL
)
ENGINE = MYISAM DEFAULT CHARSET = cp1251;
попробуй так.

nerezus 11.11.2009 04:09

Цитата:

CHARSET = cp1251
Только вот в вебе надо юзать utf-8. Всегда.

LStr1ke 11.11.2009 04:13

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()

Sharky 11.11.2009 04:17

Цитата:

Сообщение от nerezus
Только вот в вебе надо юзать utf-8. Всегда.

как сказал кто-то из великих: "Существует всего две кодировки: Unicode и Someothershit"


по теме: set names копай

TDKronuS 13.11.2009 13:43

Если уже ничего не поможет, то принудительно меняй:

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;  
}    
?>



Время: 11:04