Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]wysyłanie polskich liter do bazy Mysql
Forum PHP.pl > Forum > Przedszkole
kupiepsa.com
Witam serdecznie,
mam pytanie :
wpisywany formularz w Firefoxie wysyła do bazy polskie znaki,
natomiast IE - wysyła zamiast polskich liter "?"

Strony sa kodowane w
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
baza jest takze tak ustawiona.
Uwaga: to nie jest blad wyswietlania, przez przegladarki, tylko blad wysylania formularza przez przegladarki.
Dla pewnosci sprawdzilem i wszystkie pliki sa zapisane w UTF-8.

Co mam zrobic, bo niestety brakuje mi juz pomysłow.
Przeszukalem forum, ale niestety nic nie znalazlem.

Pozdrawiam
Arek
potreb
Sprawdź czy na pewno wszystkie pliki są zapisane w kodowaniu utf-8, nawet jeden plik który nie ma kodowania utf-8 może ci popsuć kodowanie. W źródle strony możesz sprawdzić czy gdzieś indziej nie została zdefiniowana meta dla jakiegoś innego kodowania.

Przy połączeniu z bazą wstaw:
  1. <?php
  2. mysql_query("SET NAMES utf8");
  3. ?>


I to wsio.
kupiepsa.com
Cytat(potreb @ 25.01.2008, 11:37:39 ) *
Sprawdź czy na pewno wszystkie pliki są zapisane w kodowaniu utf-8, nawet jeden plik który nie ma kodowania utf-8 może ci popsuć kodowanie. W źródle strony możesz sprawdzić czy gdzieś indziej nie została zdefiniowana meta dla jakiegoś innego kodowania.

Przy połączeniu z bazą wstaw:
  1. <?php
  2. mysql_query(&#092;"SET NAMES utf8\");
  3. ?>


I to wsio.


No właśnie nie wiem, czy ok?
Być może coś źle wpisałem.
Poniżej kod całej strony :
  1. <?php
  2. require_once '../config.php';
  3. require_once '../libs/DBmanager.php';
  4.  
  5. // zaladowanie klasy SMARTY ...
  6.  
  7. require_once '../smarty/Smarty.class.php';
  8. $smarty = new Smarty();
  9.  
  10. // katalogi dla SMARTY
  11.  
  12. $smarty -> template_dir = '../templates/';
  13. $smarty -> compile_dir = '../templates_c';
  14. $smarty -> config_dir = '../configs/';
  15. $smarty -> cache_dir = '../cache/';
  16.  
  17. class dodaj {
  18.  
  19.  function addToBase($smarty,$login,$haslo,$email,$osoba_kontaktowa) 
  20.  {
  21.  if(($login!="")&&($haslo!="")&&($email!="")&&($osoba_kontaktowa!="")) {
  22.  DBmanager::connect();
  23. // dodanie do tabeli "dane_podstawowe" ...
  24.  
  25.  $sql = "insert into dane_podstawowe values('NULL', '$login', 
  26.  '$haslo', 
  27.  '$email', 
  28.  '$osoba_kontaktowa',
  29.  '".$_GET['telefon']."',
  30.  '".$_GET['telefon_2']."',
  31.  '".$_GET['gg']."',
  32.  '".$_GET['www']."')";
  33.  
  34.  mysql_query($sql);
  35.  mysql_query("SET NAMES utf8");
  36. // dodanie do tabeli "katalog" ...
  37.  
  38. $sql = "insert into katalog values('NULL', 
  39. '".$_GET['login']."', 
  40. '".$_GET['nazwa_hodowli']."', 
  41. '".$_GET['wojew']."', 
  42. '".$_GET['miasto']."', 
  43. '".$_GET['kod_pocztowy']."', 
  44. '".$_GET['ulica']."', '";
  45.  
  46.  $sql .= $_GET['grupa_hodowli']."',
  47. '".$_GET['zarejestrowana_hodowla']."',
  48. '".$_GET['rasa_katalog']."',
  49. '".$_GET['branza_hodowlana']."',
  50. '".$_GET['masc']."',
  51. '".$_GET['ilosc_suk']."',
  52. '".$_GET['ilosc_reproduktorow']."',
  53. '".$_GET['rok_hodowli']."',
  54. '".$_GET['pochodzenie_hodowli']."',
  55. '".$_GET['matka']."',
  56. '".$_GET['ojciec']."',
  57. '".$_GET['opis_hodowli']."',
  58. '".$_GET['opis_nagrody']."',
  59. 'NULL', 'NULL', '1', '1')";
  60.  
  61.  mysql_query($sql);
  62.  mysql_query("SET NAMES utf8");
  63.  $smarty -> display("dodano.tpl");
  64.  }
  65.  else {
  66.  $smarty -> display("nie_dodano.tpl");
  67.  }
  68.  }
  69.  
  70.  
  71. }
  72.  
  73.  
  74.  
  75. if($_GET['action'] == "addToBase")
  76. {
  77. dodaj::addToBase($smarty,$_GET['login'],$_GET['haslo'],$_GET['email'],$_GET['osoba_kontaktowa']);
  78. }
  79.  
  80. // Wyslij wiadomosc poczta elektroniczna.
  81. $body = "Witamy w gronie uzytkowników Bezplatnej Bazy Hodowców !!\n
  82. Twoje haslo to '{$_GET['haslo']}'.\n
  83. Twój login to '{$_GET['login']}'.\n
  84. Twoje nazwisko to '{$_GET['osoba_kontaktowa']}'.\n
  85. Twój email to '{$_GET['email']}'.\n
  86. Twoja hodowla to '{$_GET['nazwa_hodowli']}'.\n
  87. Prosimy o zachowanie tej wiadomosci.
  88.  
  89. \n\nZ powazaniem,\n
  90. admin@kupiepsa.com\n
  91. Bloguj o psach i kotach\n
  92. <a href=\"http://www.kupiepsa.com/blog\n\" target=\"_blank\">http://www.kupiepsa.com/blog\n</a>
  93. Dodaj ciekawe zdjecia psów i kotów\n
  94. <a href=\"http://www.vet.info.pl\n\" target=\"_blank\">http://www.vet.info.pl\n</a>
  95. Baza Hodowców - psy - koty\n
  96. <a href=\"http://www.vet.info.pl\n\" target=\"_blank\">http://www.vet.info.pl\n</a>
  97. Bezplatne Ogloszenia \n
  98. <a href=\"http://www.kupiepsa.com";&#092;" target=\"_blank\">http://www.kupiepsa.com";</a>
  99.  
  100. mail ($_GET['email'], 'Rejestracja w Bazie Hodowców VET.info.pl!', $body,
  101. 'From:admin@kupiepsa.com');
  102. echo 'Jesli podales prawidlowy adres e-mail - sprawdz Swoja poczte elektroniczna.';
  103.  
  104. ?>


Przy okazji jak dopisac kod, mail php wysylal info do admina : doddano nowego uzytkownika questionmark.gif

Pozdrawiam
Arek

p.s.
wszystkie pliki maja kodowanie utf-8
potreb
Źle wstawiłeś choć dla zapytania też można ale lepiej dla całej bazy, wyedytuj plik DBmanager.php i poszukaj mysql_connect i po nim wstaw:
mysql_query("SET NAMES utf8");

Wstaw na samym końcu np:
  1. <?php
  2. $subject = "Dodano nowego użytkownika";
  3. $email = "twój@email.pl";
  4. $wiadomosc = "Dodano nowego użytkownika";
  5. mail($email, $subject, $wiadomosc);
  6. ?>
kupiepsa.com
Cytat(potreb @ 25.01.2008, 23:23:15 ) *
Źle wstawiłeś choć dla zapytania też można ale lepiej dla całej bazy, wyedytuj plik DBmanager.php i poszukaj mysql_connect i po nim wstaw:
mysql_query("SET NAMES utf8");

Wstaw na samym końcu np:
  1. <?php
  2. $subject = &#092;"Dodano nowego użytkownika\";
  3. $email = &#092;"twój@email.pl\";
  4. $wiadomosc = &#092;"Dodano nowego użytkownika\";
  5. mail($email, $subject, $wiadomosc);
  6. ?>


W pliku DBmanager.php jest wpisane:

  1. <?php
  2. $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWD);
  3.  mysql_select_db(MYSQL_DATABASE);
  4.  mysql_query("SET NAMES UTF8");
  5. ?>


i teraz jest zong..... z tymi polskimi literami,
wczoraj wszystkie pliki edytowalem i dla pewnosci wszystkie byly zapisane w utf-8
Pozdrawiam
Arek
potreb
  1. <?php
  2. $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWD);
  3. mysql_query("SET NAMES UTF8");
  4. mysql_select_db(MYSQL_DATABASE);
  5. ?>


1. Musisz mieć pewność, że pliki zostały dobrze zapisany w utf-8. Z jakiego programu korzystasz, do konwertowania lub zapisywania plików?

2. Baza, tabele oraz kolumny muszą mieć kodowanie utf8_unicode_ci, metoda porównywania napisów dla kolumn utf8_unicode_ci
kupiepsa.com
Cytat
1. Musisz mieć pewność, że pliki zostały dobrze zapisany w utf-8. Z jakiego programu korzystasz, do konwertowania lub zapisywania plików?

2. Baza, tabele oraz kolumny muszą mieć kodowanie utf8_unicode_ci, metoda porównywania napisów dla kolumn utf8_unicode_ci


ad1) Dreamweaver CS3
ad2) wszystko jest w bazie tak jak być powinno

p.s.
nigdzie tez w kodzie nie ma wpisanego innego kodowania niz utf-8
p.s.2
a można wszystkie pliki przekonwortować na utf-8 - innym programem - typu zaznacz i konwertuj wszystkie questionmark.gif

Pozdrawiam
Arek
potreb
Kolega wyżej ma ten sam problem testował Dreamweaver i Notatnik. Ja używam UltraEdit 32 jest to wersja trialowa, ale konwertuje okey, jest jeszcze Notepad2, który konwertuje poprawnie, choć nie testowałem. Nie spotkałem się z żadnym programem do konwertowania masowego choć napewno przydałby się mi taki, bo tylko operuje na utf-8.
kupiepsa.com
Cytat(potreb @ 25.01.2008, 23:48:08 ) *
Kolega wyżej ma ten sam problem testował Dreamweaver i Notatnik. Ja używam UltraEdit 32 jest to wersja trialowa, ale konwertuje okey, jest jeszcze Notepad2, który konwertuje poprawnie, choć nie testowałem. Nie spotkałem się z żadnym programem do konwertowania masowego choć napewno przydałby się mi taki, bo tylko operuje na utf-8.


Zamienilem kolejność w pliku DBmanager.php i niestety IE jest odporny

Znajde ten program i przekonweruje wszystkie pliki.
czy pliki js i ajaxa tez konwertowac??
Pozdrawiam
Arek
potreb
Pliki js i ajaxa nie konwertuj. Jak IE jest odporny tzn że pliki nie są poprawnie zapisane.
kupiepsa.com
Cytat(potreb @ 26.01.2008, 00:04:35 ) *
Pliki js i ajaxa nie konwertuj. Jak IE jest odporny tzn że pliki nie są poprawnie zapisane.


wszystkie pliki przekonwertowalem na utf-8, a IE nadal zapisuje do bazy "?" .
jużnie mam siły na tego IE - może jeszcze jakiś ciekawy pomysł

Pozdrawiam
Arek
potreb
A pliki konwertujesz w notepad2?
A takie pytanie, robisz testy na localu czy na serwie?
I czy twój serwis kupiepsa to już jest w utf8 czy to nie ten?
kupiepsa.com
Cytat(potreb @ 26.01.2008, 16:17:06 ) *
A pliki konwertujesz w notepad2?
A takie pytanie, robisz testy na localu czy na serwie?
I czy twój serwis kupiepsa to już jest w utf8 czy to nie ten?


ad1) pliki konwerowalem w ultra edit-32
ad2) testy robie na serwie
ad3) w utf-8 jest serwis : VET.INFO.PL

Cytat(kupiepsa.com @ 26.01.2008, 16:42:47 ) *
ad1) pliki konwerowalem w ultra edit-32
ad2) testy robie na serwie
ad3) w utf-8 jest serwis : VET.INFO.PL


wszystkie pliki przekonwertowalem notepad2 i wynik = 0 - polskich liter pod IE nadal brak

Pozdrawiam
Arek

Cytat(kupiepsa.com @ 26.01.2008, 17:16:12 ) *
ad1) pliki konwerowalem w ultra edit-32
ad2) testy robie na serwie
ad3) w utf-8 jest serwis : VET.INFO.PL

wszystkie pliki przekonwertowalem notepad2 i wynik = 0 - polskich liter pod IE nadal brak

Pozdrawiam
Arek


Witam ponownie,
juz mi rece opadaja, nie wiem co zrobić z tymi polskimi literami pod IE.
Może ktoś ma pomysł - co tu można zrobić questionmark.gif
Pozdrawiam
Arek
potreb
No okey, a jakie kodowanie w bazie masz i system porównań w kolumnach?

Napisz z jakiego kodowania konwertowaleś pliki na utf8 w ultraedit
kupiepsa.com
Cytat(potreb @ 27.01.2008, 16:03:29 ) *
No okey, a jakie kodowanie w bazie masz i system porównań w kolumnach?

Napisz z jakiego kodowania konwertowaleś pliki na utf8 w ultraedit


kodowanie w bazie : System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)

system porownan: UTF-8 Unicode_ci

Miałem kotowanie utf-8, ale dla pewności jeszcze raz wszystkie pliki konwertowałem na utf-8.

Pozdrawiam
Arek
p.s.
może zmienic na UTF-8 polish_ci questionmark.gif
potreb
No dobra, ja sie pytam o system porównań dla tych tabel do których wstawiasz dane, ja u siebie pliki konwertowałem z ASCI do UTF8 Unicode Editing, i pokaz mi kod gdzie się łączysz z baząquestionmark.gif
kupiepsa.com
Cytat(potreb @ 27.01.2008, 16:44:54 ) *
No dobra, ja sie pytam o system porównań dla tych tabel do których wstawiasz dane, ja u siebie pliki konwertowałem z ASCI do UTF8 Unicode Editing, i pokaz mi kod gdzie się łączysz z bazą questionmark.gif


kod łączenia z bazą :
  1. <?php
  2.  
  3. require_once '../config.php';
  4. require_once '../libs/DBmanager.php';
  5.  
  6. // zaladowanie klasy SMARTY ...
  7.  
  8. require_once '../smarty/Smarty.class.php';
  9. $smarty = new Smarty();
  10.  
  11. // katalogi dla SMARTY
  12.  
  13. $smarty -> template_dir = '../templates/';
  14. $smarty -> compile_dir = '../templates_c';
  15. $smarty -> config_dir = '../configs/';
  16. $smarty -> cache_dir = '../cache/';
  17.  
  18. class dodaj {
  19.  
  20.  function addToBase($smarty,$login,$haslo,$email,$osoba_kontaktowa) 
  21.  {
  22.  if(($login!="")&&($haslo!="")&&($email!="")&&($osoba_kontaktowa!="")) {
  23.  DBmanager::connect();
  24. // dodanie do tabeli "dane_podstawowe" ...
  25.  
  26.  $sql = "insert into dane_podstawowe values('NULL', '$login', 
  27.  '$haslo', 
  28.  '$email', 
  29.  '$osoba_kontaktowa',
  30.  '".$_GET['telefon']."',
  31.  '".$_GET['telefon_2']."',
  32.  '".$_GET['gg']."',
  33.  '".$_GET['www']."')";
  34.  
  35.  mysql_query($sql);
  36.  
  37. // dodanie do tabeli "katalog" ...
  38.  
  39. $sql = "insert into katalog values('NULL', 
  40. '".$_GET['login']."', 
  41. '".$_GET['nazwa_hodowli']."', 
  42. '".$_GET['wojew']."', 
  43. '".$_GET['miasto']."', 
  44. '".$_GET['kod_pocztowy']."', 
  45. '".$_GET['ulica']."', '";
  46.  
  47.  $sql .= $_GET['grupa_hodowli']."',
  48. '".$_GET['zarejestrowana_hodowla']."',
  49. '".$_GET['rasa_katalog']."',
  50. '".$_GET['branza_hodowlana']."',
  51. '".$_GET['masc']."',
  52. '".$_GET['ilosc_suk']."',
  53. '".$_GET['ilosc_reproduktorow']."',
  54. '".$_GET['rok_hodowli']."',
  55. '".$_GET['pochodzenie_hodowli']."',
  56. '".$_GET['matka']."',
  57. '".$_GET['ojciec']."',
  58. '".$_GET['opis_hodowli']."',
  59. '".$_GET['opis_nagrody']."',
  60. 'NULL', 'NULL', '1', '1')";
  61.  
  62.  mysql_query($sql);
  63.  
  64.  $smarty -> display("dodano.tpl");
  65.  }
  66.  else {
  67.  $smarty -> display("nie_dodano.tpl");
  68.  }
  69.  }
  70.  
  71.  
  72. }
  73.  
  74.  
  75.  
  76. if($_GET['action'] == "addToBase")
  77. {
  78. dodaj::addToBase($smarty,$_GET['login'],$_GET['haslo'],$_GET['email'],$_GET['osoba_kontaktowa']);
  79. }
  80.  
  81. $subject = "Dodano nowa hodowle";
  82. $email = "biuro@vet.info.pl";
  83. $wiadomosc = "Dodano nowa hodowle do Bazy Vet.info.pl";
  84. mail($email, $subject, $wiadomosc);
  85.  
  86.  
  87.  
  88. // Wyslij wiadomosc poczta elektroniczna.
  89. $body = "Witamy w gronie uzytkowników Bezplatnej Bazy Hodowców !!\n
  90. Twoje haslo to '{$_GET['haslo']}'.\n
  91. Twój login to '{$_GET['login']}'.\n
  92. Twoje nazwisko to '{$_GET['osoba_kontaktowa']}'.\n
  93. Twój email to '{$_GET['email']}'.\n
  94. Twoja hodowla to '{$_GET['nazwa_hodowli']}'.\n
  95. Prosimy o zachowanie tej wiadomosci.
  96.  
  97. \n\nZ powazaniem,\n
  98. admin@kupiepsa.com\n
  99. Bloguj o psach i kotach\n
  100. <a href=\"http://www.kupiepsa.com/blog\n\" target=\"_blank\">http://www.kupiepsa.com/blog\n</a>
  101. Dodaj ciekawe zdjecia psów i kotów\n
  102. <a href=\"http://www.vet.info.pl\n\" target=\"_blank\">http://www.vet.info.pl\n</a>
  103. Baza Hodowców - psy - koty\n
  104. <a href=\"http://www.vet.info.pl\n\" target=\"_blank\">http://www.vet.info.pl\n</a>
  105. Bezplatne Ogloszenia \n
  106. <a href=\"http://www.kupiepsa.com";&#092;" target=\"_blank\">http://www.kupiepsa.com";</a>
  107.  
  108. mail ($_GET['email'], 'Rejestracja w Bazie Hodowców VET.info.pl!', $body,'From:biuro@vet.info.pl');
  109. echo 'Jesli podales prawidlowy adres e-mail - sprawdz Swoja poczte elektroniczna.';
  110.  
  111.  
  112. ?>


Pozdrawiam
Arek
potreb
pokaz kod z libs/DBmanager.php
kupiepsa.com
Cytat(potreb @ 27.01.2008, 17:14:48 ) *
pokaz kod z libs/DBmanager.php


  1. <?php
  2.  
  3.  
  4. class DBmanager {
  5.  
  6.  function connect()
  7.  {
  8.  // dane do konfiguracji - wpisz swoje dane w celu konfiguracji polaczenia z baza mysql..
  9.  
  10.  define('MYSQL_HOST', '*********'); // nazwa hosta dla bazy mysql
  11.  define('MYSQL_USER', '******'); // nazwa uytkownika dla bazy mysql
  12.  define('MYSQL_PASSWD', '********'); // haslo dla bazy mysql
  13.  define('MYSQL_DATABASE', '********'); // nazwa uzywanej bazy danych
  14.  
  15.  $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWD);
  16.  mysql_query("SET NAMES UTF8");
  17.  mysql_select_db(MYSQL_DATABASE);
  18.  
  19.  }
  20.  
  21. }
  22. ?>


moze dodac gdziec funkcje "iconv" questionmark.gif
Pozdrawiam
Arek
potreb
A możesz mi pokazać np w formie obrazka jakies dane z bazy do której zapisuje sie ogłoszenia.

Ustawiając SET NAME UTF8 spowoduje złe wyświetlanie z bazy danych zapisanych poprzednio, a zapisane dane po ustawieniu tego parametru zapisane w utf8 będzie dobrze wyświetlało. Jeżeli nie są dobrze zapisane ąęść to problem wychodzi od strony kodowania strony, spróbuj jeszcze przekonwertować pliki js, bo zauważyłem ze dane dodajesz za pomocą ajaxa
kupiepsa.com
Cytat(potreb @ 27.01.2008, 17:36:27 ) *
A mozesz mi pokazać np w formie obrazka jakies dane z bazy do której zapisuje sie ogłoszenia


dane z bazy wysyłane za pośrednictwem FIREFOXA:
Wielokrotne certyfikaty na championa krajowego i międzynarodowego, oraz zw.rasy

dane z bazy wysyłane za pośrednictwem IE:
Domowa hodowla pieknych ps?w jakimi s? beagle. Ka?dy z ps?w jest pe?noprawnym cz?onkie rodziny. Planujemy mioty szczeni?t po najlepszych reproduktorach. Je?li chcesz znale?? przyjaciela na ca?e ?ycie zapraszamy. Pomo?emy w wyborze i w wychowaniu psiaka

Tak wygladaja dane ktore wchodza do bazy.
Jesli nie o to chodzilo, to czekam na gg: 3052506
Pozdrawiam
Arek
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.