Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL]polskie znaki mysql
Forum PHP.pl > Forum > Przedszkole
brychu
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>





Namieszałem i potrzebuję pomocy. Próbowałem już wszystkich kombinacji kodowania. Zmianiałem i w head i w MySQL. Nie wiem. Wpisując z poziomu PHPmyAdmin wyświtla polskie znaki. Formularzem już nie. Nie zapisuje ich już nawet w bazie.

upload.php - formularz
  1. <?php
  2. require('connection.php');
  3.  
  4.  
  5. $submit = $_POST['submit'];
  6. define("CATALOG","foto"); //definowanie katalogu dla plikow
  7. define("NUM_FILE","1"); //wyswietli 6 pol do zaladowania plikow
  8. if(!isset($submit))
  9. {
  10. echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data" class="form" id="upload">'."\n");
  11. echo('<fieldset><legend>Dodaj nowy przedmiot</legend>'."\n");
  12. for($i=0;$i<NUM_FILE;++$i)
  13. {
  14. echo('<br><label class="file">Nazwa: <input type=text name="nazwa"/></label>'."\n");
  15. echo('<br><label class="file"><textarea name="opis" cols="150" rows="10"/>Opis przedmiotu</textarea></label>'."\n");
  16. echo('<br><label class="file"><input name="foto[]" type="file" /></label>'."\n");
  17. }
  18. echo('<label class="submit"><span>&nbsp;</span><input type="submit" value="Dodaj" name="submit" /></label>'."\n");
  19. echo('</fieldset>'."\n");
  20. echo('</form>'."\n"."\n");
  21. }
  22.  
  23.  
  24.  
  25. for($i=0;$i<NUM_FILE;++$i)
  26. {
  27. $plik_tmp = $_FILES['foto']['tmp_name'][$i];
  28. $plik_nazwa = $_FILES['foto']['name'][$i];
  29. if(is_uploaded_file($plik_tmp))
  30. {
  31. @$dozwolone = array('jpg','png','gif','bmp','jpeg');//rozszerzenia dozwolonych plikow
  32. @$ext= end(explode(".", $plik_nazwa));
  33. if(in_array($ext,$dozwolone))
  34. {
  35. @$nazwa_losowa = rand(123456789,987654321).'.'.$ext;
  36. @$folder = CATALOG.'/'.$nazwa_losowa;
  37. move_uploaded_file($plik_tmp,$folder);
  38. $nazwazdjecia = $nazwa_losowa;
  39. $nazwa = $_POST['nazwa'];
  40. $opis = $_POST['opis'];
  41. $ins = @mysql_query("INSERT INTO wiki (nazwa, opis, zdjecie) VALUES ('$nazwa', '$opis','$nazwazdjecia')");
  42. echo '<p>Przedmiot <strong>'.$nazwa.'</strong> zostal dodany! <a href="index.php">Powrót</a></p>'."\n";
  43. }
  44. else echo('<p>Nie możesz wgrać tego pliku na serwer. <a href="'.$_SERVER['REQUEST_URI'].'">Powrót</a>.</p>'."\n");
  45. }
  46. }
  47. ?>

mariolita
w connection.php dodaj

header('Content-Type: text/html; charset=utf-8');

i mysqli_set_charset($db,"utf8");

testujesz na serwerze czy np. wampserwerem? kopiujesz pliki czy stworzyłeś nowy plik w panelu admina (jeśli na serwerze) i tam kopiujesz kod?
brychu
http://archeage-wiki.esy.es/index.php

TotalCommanderem łącze się przez konto FTP z serwerem i wrzucam pliki bezpośrednio na serwer.
Plik stworzyłem klikając w programie TotalCommander guzik "nowy". Taki plik otwieram zwykłym notatnikiem, piszę kod. Zapisuję i kopiuję na serwer.

Do connect dodałem taki kod jak kazałeś i wyskoczyło teraz:
Warning: mysqli_set_charset() expects parameter 1 to be mysqli, null given in /home/u205111299/public_html/connection.php on line 3

connect.php
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. mysqli_set_charset($db,"utf8");
  4. /**
  5.  * Konfiguracja danych do bazy i nawiązywanie połączenia
  6.  * @author Sobak
  7.  * @package User System
  8.  */
  9.  
  10. $cfg['db_server'] = 'ssss'; // Serwer bazy danych
  11. $cfg['db_user'] = 'uuuu'; // Nazwa użytkownika
  12. $cfg['db_pass'] = 'hhhh'; // Hasło
  13. $cfg['db_name'] = 'bbbb'; // Nazwa bazy danych
  14.  
  15.  
  16. // POŁĄCZ Z BAZĄ DANYCH
  17. $conn = @mysql_connect ($cfg['db_server'], $cfg['db_user'], $cfg['db_pass']);
  18. $select = @mysql_select_db ($cfg['db_name'], $conn);
  19.  
  20. if (!$conn) {
  21. die ('<p class="error">Nie udało się połączyć z bazą danych.</p>');
  22. }
  23.  
  24. if (!$select) {
  25. die ('<p class="error">Nie udało się wybrać bazy danych.</p>');
  26. }
  27.  
  28. ?>




emstawicki
Ważne wskazówki nt. zachowania tego samego kodowania wszędzie.
http://phpcoding.rf.gd/2016/07/01/characte...eful-practices/
viking
Mariolita podał ci rozwiązanie dla rozszerzenia mysqli. Ty używasz przestarzałego mysql. Zajrzyj do dokumentacji i poczytaj ten czerwony komunikat.
Do tego notatnik nie ma kodowania utf8. Zapisz to w normalnym edytorze nawet notepad 2.
brychu
Otworzyłem notepadem i zmieniłem raz, że w programie na UTF8 a dwa w meta też na utf8. W bazie wszędzie gdzie się dało utf8_polish_ci.
USUNĄŁEM CIASTECZKA i wszystko pięknie działa.
Dziękuję za zainteresowanie i pomoc.
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.