Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz i kodowanie znaków, Php i MySql - przesyłanie formularza
simon86
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.11.2008

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


Witam mam takie zapytanie.
Wysyłam formularzem tekst zczytany z bazy danych:
  1. print '<form method="post" >
  2. Wybierz swoją jednostkę:
  3. <select name="jednostka" style =" width: 300px">
  4. <option></option>';
  5.  
  6. $wynik = mysql_query ("SELECT * FROM `osrodki_sala`");
  7. while ($rekord = mysql_fetch_assoc ($wynik)) {
  8. print '<option>'.$rekord['kod_osrodka'].'</option><br>';
  9. }
  10. print '</select><br><br>
  11. <input type="submit" name="submit" value="Wybierz" />
  12. </form>


Problem polega na tym, że jeśli wybiorę z tej listy rozwijanej nazwę jednostki ktora zawiera polskie znaki to nie realizuje mi np takiego warunku:
  1. if ( $_POST['jednostka'] == 'Sekcja Finansowa' OR $_POST['jednostka'] =='Dział Księgowości') {
  2. print 'Weszło w pętle';
  3. }


Z powyższego warunku gdy wybiorę z listy rozwijanej 'Sekcja Finansowa' to w pętle wchodz, natomiast gdy wybiorę 'Dział Księgowości' to już w tą pętle nie wejdzie :-/
Czy koś mi może wytłumaczyć gdzie tkwi przyczyna?
Dodam że w edytorze mam ustawione kodowanie ANSI a w bazie UTF-8, ale jak zmienie kodowanie w edytorze na UTF-8 to nic sie nie zmienia!
Go to the top of the page
+Quote Post
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


A jakie kodowanie masz ustawione na stronie ? Konsekwentnie powinno być:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Rid
post
Post #3





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


W PHP stronę kodową możesz zadeklarować także tak:
  1. header('Content-type: text/html; charset=UTF-8');
.Jednakże same pliki powinny ,także skonwertowane do UTF-8 -najlepiej skonwertować w Notepad++ do UTF-8 bez BOM
Go to the top of the page
+Quote Post
Quadina
post
Post #4





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

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


Poza kwestią kodowania, pomyśl o tym, aby w option dodać po prostu artybut value i przekazywać tę informację np. po ID elementu w bazie.


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
simon86
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.11.2008

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


Dzięki za odpowiedzi. Faktycznie muszę spróbować zakodowac wszystko bez wyjątku na utf-8 i zobacze jak to wyjdzie.
O zczytywaniu po ID również myślałem, ale tu mi również pojawił się problem, ponieważ dziwnym trafem czyty ttylko wybrane ID (nie wiem czemu) i sie poddałem z kwestią ID.
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 Aktualny czas: 21.08.2025 - 05:57