Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Brak polskich znaków, ale tylko w bazie
Olsz4k
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


No właśnie, zacząłem się przesiadać na PDO i tutaj zaczął się mały problem, oto mój kod:

  1. <?php
  2. if (isset($_POST['dodaj']))
  3. {
  4. $stmt = $polacz -> prepare("INSERT INTO start (tytul,tekst) VALUES (:tytul, :tekst)");
  5. $stmt -> bindValue(':tytul', $_POST['tytul'], PDO::PARAM_STR);
  6. $stmt -> bindValue(':tekst', $_POST['tekst'], PDO::PARAM_STR);
  7. $stmt -> execute();
  8. if($stmt)
  9. {
  10. echo 'Tekst został dodany pomyślnie!';
  11. }
  12. else
  13. {
  14. echo 'Wystąpił błąd podczas dodawania tekstu! Spróbuj ponownie!';
  15. }
  16. }
  17. ?>


W PDO siedzę dopiero parę dni. Do bazy wszystkie dane dodaje, jednak polskie znaki krzaczkuje, mimo tego na stronie wyświetla je poprawnie, ale tak chyba nie powinno być? Kodowanie pliku to UTF-8 bez BOM, kodowanie w bazie to utf8_polish_ci.
Druga sprawa, to czy ten kod jest poprawny pod względem PDO?

EDIT:

Przy połączeniu z bazą kodowanie też ustawione:
  1. polacz = new PDO('mysql:host='.$host.';dbname='.$db.';encoding=utf8', $login, $password);


Ten post edytował Olsz4k 29.12.2013, 13:21:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Ja używam takiego kodu i działa poprawnie:
  1. $polacz = new PDO('mysql:host=localhost;dbname=db', 'user', 'pass', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die();


  1. $stmt -> execute();
  2. if($stmt)

To nie tak działa. Wykonujesz a potem sprawdzasz. Wykonuj sprawdzając
  1. $dodano = $stmt->execute();
  2. if($dodano)
Go to the top of the page
+Quote Post
Olsz4k
post
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


No i super, zmiana połączenia pomogła, dzięki wielkie!
I dzięki również za zwrócenie uwagi na błąd w kodzie smile.gif
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: 19.08.2025 - 21:46