Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]UTF-8 - Niedziałające skrypty PHP
ebate
post 16.11.2011, 20:22:41
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


Mam edytor tekstowy, który ma możliwość kodowania w UTF-8. Gdy zmieniam z ANSI na UTF-8 skrypty php przestają mi działać.

Oto przykład:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4.  
  5. <head>
  6.  
  7. <link rel="Stylesheet" type="text/css" href="styl.css" title="Styl" />
  8.  
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10.  
  11. <meta name="Description" content="Tu wpisz opis zawarto?ci strony" />
  12.  
  13. <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  14.  
  15. <title>Strona główna</title>
  16.  
  17. </head>
  18.  
  19. <body>
  20.  
  21. <div id=naglowek>
  22.  
  23. <div id=logo>
  24.  
  25. LOGO
  26.  
  27. </div>
  28.  
  29. </div>
  30.  
  31. <?php
  32.  
  33.  
  34. require('conn.php');
  35.  
  36. $oldR = isset($_SESSION['zmienna_do_zdjec']) ? $_SESSION['zmienna_do_zdjec'] : '';
  37.  
  38. $_SESSION['zmienna_do_zdjec'] = time() + mt_rand(1000000,9999999);
  39.  
  40. $wykonaj=mysql_query("SELECT * FROM user WHERE plec='meżczyzna' ORDER BY rand() limit 1")or die(mysql_error());
  41.  
  42. $wiersz = mysql_fetch_array($wykonaj);
  43.  
  44.  
  45.  
  46. $wykonaj1=mysql_query("SELECT * FROM user WHERE plec='meżczyzna' ORDER BY rand() limit 1")or die(mysql_error());
  47.  
  48. $wiersz1 = mysql_fetch_array($wykonaj1);
  49.  
  50.  
  51.  
  52. echo '<a href=glosowaniem.php?pierwszy=1&wyg='.$wiersz['sciezka'].'&prze='.$wiersz1['sciezka'].'&r='.$_SESSION['zmienna_do_zdjec'].'><img height="200" width="175" src="'.$wiersz['sciezka'].'"/></a>';
  53.  
  54. echo '<a href=glosowaniem.php?drugi=1&wyg='.$wiersz['sciezka'].'&prze='.$wiersz1['sciezka'].'&r='.$_SESSION['zmienna_do_zdjec'].'><img height="200" width="175" name="przycisk" src="'.$wiersz1['sciezka'].'"/></a>';
  55.  
  56. if(isset($_GET['pierwszy']) && isset($_GET['r']) && $_GET['r'] == $oldR)
  57.  
  58. {
  59.  
  60. mysql_query("UPDATE user SET wygrana=wygrana+1 WHERE sciezka='".$_GET['wyg']."'")or die(mysql_error());
  61.  
  62. mysql_query("UPDATE user SET przegrana=przegrana+1 WHERE sciezka='".$_GET['prze']."'")or die(mysql_error());
  63.  
  64. }
  65.  
  66. if(isset($_GET['drugi']) && isset($_GET['r']) && $_GET['r'] == $oldR)
  67.  
  68. {
  69.  
  70. mysql_query("UPDATE user SET wygrana=wygrana+1 WHERE sciezka='".$_GET['prze']."'") or die(mysql_error());
  71.  
  72. mysql_query("UPDATE user SET przegrana=przegrana+1 WHERE sciezka='".$_GET['wyg']."'")or die(mysql_error());
  73.  
  74. }
  75.  
  76. ?>
  77.  
  78. </body>
  79.  
  80. </html>


Przy ANSI wszystko jest ok, leczy gdy zmieniam na UTF-8 to zdjęcia źle sie wyświetlają(małe prostokąty).

W innym skrypcie mam tabele wyświetlająca dane z tabeli (pętla while). W przypadki UTF-8 nic nie wyświetla, jedynie początkowe ramy tabeli.

Ten post edytował ebate 16.11.2011, 20:24:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 16.11.2011, 20:28:33
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz to gdzieś wystawione online?

ps: sprawdź źródło strony w przeglądarce i zobacz co ci wygenerował kod php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ebate
post 16.11.2011, 20:33:30
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


ANSI:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4.  
  5. <head>
  6.  
  7. <link rel="Stylesheet" type="text/css" href="styl.css" title="Styl" />
  8.  
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10.  
  11. <meta name="Description" content="Tu wpisz opis zawarto?ci strony" />
  12.  
  13. <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  14.  
  15. <title>Strona g��wna</title>
  16.  
  17.  
  18. </head>
  19.  
  20. <body>
  21.  
  22. <div id=naglowek>
  23.  
  24. <div id=logo>
  25.  
  26. LOGO
  27.  
  28. </div>
  29.  
  30. </div>
  31.  
  32.  
  33.  
  34. <a href=glosowaniem.php?pierwszy=1&wyg=pliki/d.jpg&prze=pliki/c.jpg&r=1330043491><img height="200" width="175" src="pliki/d.jpg"/></a><a href=glosowaniem.php?drugi=1&wyg=pliki/d.jpg&prze=pliki/c.jpg&r=1330043491><img height="200" width="175" name="przycisk" src="pliki/c.jpg"/></a>
  35. </body>
  36.  
  37. </html>


UTF-8:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4.  
  5. <head>
  6.  
  7. <link rel="Stylesheet" type="text/css" href="styl.css" title="Styl" />
  8.  
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10.  
  11. <meta name="Description" content="Tu wpisz opis zawarto?ci strony" />
  12.  
  13. <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
  14.  
  15. <title>Strona główna</title>
  16.  
  17.  
  18. </head>
  19.  
  20. <body>
  21.  
  22. <div id=naglowek>
  23.  
  24. <div id=logo>
  25.  
  26. LOGO
  27.  
  28. </div>
  29.  
  30. </div>
  31.  
  32.  
  33.  
  34. <a href=glosowaniem.php?pierwszy=1&wyg=&prze=&r=1328452353><img height="200" width="175" src=""/></a><a href=glosowaniem.php?drugi=1&wyg=&prze=&r=1328452353><img height="200" width="175" name="przycisk" src=""/></a>
  35. </body>
  36.  
  37. </html>


A strone odpalam przez serwer postawiony na moim komputerze (xampp)
Go to the top of the page
+Quote Post
nospor
post 16.11.2011, 20:35:39
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jak widać src="" czyli dane z bazy ci się nie pobierają.
Skoro die(mysql_error()) nie zwraca ci błędu zapytania, znaczy że warunek plec='meżczyzna' nie jest spełniony. Zapewne chodzi o tekst "meżczyzna" który w kodowaniu utf8 nie pasuje.

Co to w ogołe za pomysł jako płec pisać meżczyzna kobieta? Do tego uzywa sie 0 oraz 1, ewentualnie enum, ewentualnie m or k smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ebate
post 16.11.2011, 20:40:01
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


W końcu musiało to nastąpić. Już wielu mi pisało żeby to zmienił ale myślałem, że nie będzie to konieczne. A jednak...

Biorę się za zmiany, a co do tematu to Dzięki za pomoc.
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: 19.07.2025 - 07:46