![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z kodowaniem znaków w php... dokladniej chodzi o to że mam formularz który wysyła dane do bazy danych mysql. Baz danych ma kodowanie znaków: jak tworze tabele to wpisuje -> engine=InnoDB DEFAULT CHARSET=utf8; Metoda porównywania napisów w mysql: utf8_polish_ci System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) wszytsko ładnie zapisuje się w bazie i odczytuje na stronie ale problem jest w tym że jak wpisuje tekst polski w pole input i gdy wciskam OK to następuje weryfikacja formularza i jeśli są błędy to odświeża formularz i wpisuje dane wcześniej wpisane w pola input - no i niestety już pole zamist polskich znaków ma krzaki :-( (jak formularz jest oki to wszytskie polskie znaki są wysłane do bazy i tam się dobrze zapisują oraz odczytują gdy je pobieram w php) Ponieżej kawalek kodu który działa i można przetestować (po wisaniu slowa "aaaaaaaa" i kliknieciu oki wszystko jest dobrze ale gdy już wpiszę "śąćżłóźźź" wyskakują krzaki :-( ) Kod <?php ob_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <?php if ($_SERVER['REQUEST_METHOD'] == 'GET') { display_form(array()); } else { $errors = validate_form(); if (count($errors)) { display_form($errors); } else { $imie_k=$_POST['imie_k']; try { dodaj_nowego_klienta($imie_k); komunikat('Dodano nowego klienta'); } catch (Exception $e) { blad($e->getMessage()); exit; } } } function display_form($errors) { $defaults['imie_k'] = isset($_POST['imie_k']) ? htmlentities($_POST['imie_k']) : ''; ?> <script><!-- function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no' );} //--> </script> <div id='maincontent'> <h1 class='first'></h1> <h1>Dodaj klienta do bazy</h1> <form method=post action='<?php echo $_SERVER['SCRIPT_NAME'] ?>'> <h2> <table> <tr> <td>Imie:<font color=red > * </font></td> <td valign=top><input type=text name=imie_k value='<?php echo $defaults['imie_k'] ?>' size=30 maxlength=20</td></tr> <td colspan=2 align=center> <input class='button' type=submit value="OK"></td> </h2> </form> <p class='last'></p> </div><!-- end div maincontent --> <?php } function print_error($key, $errors) { if (isset($errors[$key])) { echo "<dd class='error' >{$errors[$key]}</dd>"; } } function validate_form() { global $flavors; $errors = array(); if (isset($_POST['imie_k']) && (strlen($_POST['imie_k']) > 3)) { $errors['imie_k'] = '<font color=red > długa nazwa</font>'; } return $errors; } ?> </html> <?php ob_end_flush(); ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:23 |