Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dlaczego jest złe kodowanie znaków przy pobieraniu z MySQL?
gsmphone
post 1.02.2008, 11:06:25
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Witam,

Posiadam strone z której pobierane są polskie znaki. Wszystko się pobiera tak jak trzeba. Natomiast gdy zrobiłem DropDown menu to już jest problem bo pojawiają się krzaczki:/ dlaczego tak sie dzieje?? Podaje ten kod:

locale.php:
Kod
<?
    
    

$dbhost = "localhost";
$dbuser = "*******";
$dbpass = "***********************";
$dbname    = "*********";
mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server");  
mysql_query('SET $NAME \'latin2\'');



$data=$_GET['data'];
     $val=$_GET['val'];



     if ($data=='province') {
          echo "<select name='province' onChange=\"dochange('category', this.value)\">\n";
          echo "<option value='0'>==== Wybierz ====</option>\n";
          $result=mysql_db_query($dbname,"select loc_code,category from kategorie where parent = '0' and loc_code != '000000' order by category");
          while(list($id, $name)=mysql_fetch_array($result)){
               echo "<option value=\"$id\" >$name</option> \n";
          }
     } else if ($data=='category') {
          echo "<select name='category'>\n";
          echo "<option value='0'>======== Wybierz ========</option>\n";
        
$val2=$val;
$val = substr($val,0,2);


                              
          $result=mysql_db_query($dbname,"SELECT loc_code, category, podcategory FROM kategorie WHERE loc_code != '000000' and loc_code != '$val2' AND loc_code LIKE '$val%'  ORDER BY podcategory ");
          while(list($id, $name, $podcategory)=mysql_fetch_array($result)){  
              
               echo "<option value=\"$podcategory\" >$name</option> \n";
          }
     } else if ($data=='tumbon') {
          echo "<select  name='tumbon' >\n";
          echo "<option value='0'>======== Wybierz ========</option>\n";
          $val2=$val;
          $val = substr($val,0,4);
          $result=mysql_db_query($dbname,"SELECT loc_code, category, parent, location_name FROM kategorie WHERE loc_code != '000000' and loc_code != '$val2' AND loc_code LIKE '$val%' AND flag_disaster IS NULL ORDER BY category, loc_code");
          while(list($id, $name)=mysql_fetch_array($result)){
               echo "<option value=\"$id\" >$name</option> \n";
          }
     }
     echo "</select>\n";  
?>





oraz plik locale_dropdown.php:
Kod
<br>
<?    
     echo "<form name=sel>\n";
     echo "<font id=province><select>\n";
     echo "<option value='0'>=====Ładowanie======</option> \n";
     echo "</select></font>\n";
     echo "<br>";
     echo "<font id=category><select>\n";
     echo "<option value='0'>==== Wybierz ====</option> \n";
     echo "</select></font>\n";
    
    
?>
<head>


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<script language=Javascript>
function Inint_AJAX() {
   try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
};

function dochange(src, val) {
     var req = Inint_AJAX();
     req.onreadystatechange = function () {
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText;
               }
          }
     };
    
req.open("GET", "locale.php?data="+src+"&val="+val);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-2");  
     req.send(null);

}


window.onLoad=dochange('province', -1);    
</script>
Go to the top of the page
+Quote Post
kicaj
post 1.02.2008, 11:24:24
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Bylo wielokrotnie, poszukaj na forum


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
gsmphone
post 1.02.2008, 11:28:29
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


No własnie gdybym znalazł to bym sie nie pytał
Go to the top of the page
+Quote Post
defrag
post 1.02.2008, 11:33:14
Post #4





Grupa: Zarejestrowani
Postów: 82
Pomógł: 3
Dołączył: 15.01.2007

Ostrzeżenie: (10%)
X----


Wystarczy wpisac magiczne slowo "kodowanie" w wyszukiwarce ;]
Go to the top of the page
+Quote Post
gsmphone
post 1.02.2008, 11:35:51
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Kurde.... przeciez pisałem ze nic nie pomogło... kodowanie jest dobre tylko cos ze skryptem jest nietak bo tak jakby nie zauwazał tego ze ma kodowac tak. Zresztą niewazne... mogłbym wpisac utf8 czy byle jakie inne kodowanie i tak nie zadziała.
Go to the top of the page
+Quote Post
qrees
post 1.02.2008, 12:17:35
Post #6





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

Ostrzeżenie: (0%)
-----


Generalnie ta linijka wygląda jakoś dziwnie:
  1. <?php
  2. mysql_query('SET $NAME 'latin2'');
  3. ?>

powinno być raczej tak:
  1. <?php
  2. mysql_query("SET NAME 'latin2'");
  3. ?>
Go to the top of the page
+Quote Post
gsmphone
post 1.02.2008, 12:20:33
Post #7





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Cytat(qrees @ 1.02.2008, 12:17:35 ) *
Generalnie ta linijka wygląda jakoś dziwnie:
  1. <?php
  2. mysql_query('SET $NAME 'latin2'');
  3. ?>

powinno być raczej tak:
  1. <?php
  2. mysql_query("SET NAME 'latin2'");
  3. ?>



Nic z tego, tez niedziała:/:/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 23:27