Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Polskie znaki przy update w mysql UTF-8
Forum PHP.pl > Forum > Przedszkole
redelek
Hej,

Niestety mam problem z UPDATE.
Tak wygląda mój kod
  1. <?php
  2.            $tytul=$_POST["f_tytul"];
  3.            $opis=$_POST["f_opis"];
  4.            $kat=$_POST["f_kat"];
  5.            $dt = date("Y-m-d");
  6.            $tm = date ("H:i:s");
  7.            $rem = $REMOTE_ADDR;
  8.            polacz_db();
  9.            mysql_query("SET NAMES 'utf8'");
  10.            mysql_query("SET CHARACTER_SET_CLIENT=utf8");
  11.            mysql_query("SET CHARACTER_SET_RESULTS=utf8");
  12.            $wynik= mysql_query("UPDATE $M_TABELA SET `kategoria`='$kat', `tytul`='$tytul', `opis`='$opis', `dt`='$dt', `time`='$tm' WHERE `id_bz`='$num_rek'") or die('<div id="error">Nie mogę zaktualizować rekordu '.$num_rek.'</div>');
  13.            if ($wynik==1) {
  14.            echo '<div id="info"><a href="lista.php?rek=l"><img src="../img/wroc.png" alt="W" /></a>&nbsp;&nbsp;&nbsp;&nbsp;Rekord zaktualizowany '.$num_rek.'</div>';
  15.            } else{
  16.            echo 'Niedozwolone parametry !!!';
  17.            }    
  18.            ?>

Przy INSERT działa wszystko pieknie i poprawnie. Bazy mam ustawione na UTF-8, stronę i Apache.
Nie wiem dlaczego , po wykonaniu UPDATE wszystko się rozwala, w bazie też są krzaczki sad.gif

Macie może jakiś pomysł ?
blooregard
Sprawdź ustawienie kodowania plików w edytorze, którego używasz do PHP.
redelek
Cytat(blooregard @ 25.06.2009, 11:46:43 ) *
Sprawdź ustawienie kodowania plików w edytorze, którego używasz do PHP.


Mam Notepad ++ i ustawione UTF-8 bez BOM
blooregard
Cytat
Mam Notepad ++ i ustawione UTF-8 bez BOM

No to mnie się wyczerpały koncepcje sad.gif
Błąd musi tkwić gdzieś w kodzie. A operację UPDATE masz w pliku (albo jest inkludowane do pliku), gdzie na pewno jest ustawione kodowanie na UTF-8?
redelek
kodowanie strony, mam ustawione w pliku, który jest include na samym początku.
Dziwne, że INSERT działa bardzo ładnie , a UPDATE nie

Oki poradziłem sobie.

Dopisałem gdzie to tylko możliwe przy wszystkich zapytaniach i działa super.
Głównie chodziło o to , że dane pobierane do EDYCJI nie były przefiltrowane przez to
  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3.                mysql_query("SET CHARACTER_SET_CLIENT=utf8");
  4.                mysql_query("SET CHARACTER_SET_RESULTS=utf8");
  5. ?>


Działa jak złoto smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.