Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] Nie działają polskie znaki
jimmy_lee
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.03.2009

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


Witam,
właśnie zorientowałem się, że zrobiłem całą polską stronę w Symfony i nie zauważyłem, że w formularzach nie można wpisywać polskich znaków. Kiedy wpisuję jakiś, przy walidacji formularza pojawia się błąd:

Server Internal 500: Propel Exception:
General error: 1366 Incorrect string value: '\xC5\x84\x0D\x0A'
Na czym polega problem? Kodowanie w pliku database.yml jest ustawione na utf-8...
To pewnie głupie, ale nie mam pojęcia jak to poprawić

Ten post edytował jimmy_lee 11.03.2009, 19:27:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Whisller
post
Post #2





Grupa: Zarejestrowani
Postów: 77
Pomógł: 5
Dołączył: 29.03.2006
Skąd: Poznań

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


Jest to przy walidacji czy już przy samym dodawaniu rekordu do bazy? Sprawdz czy na pewno masz wszędzie ustawione UTF-8.
Czy baza ma takie kodowanie, czy w settings.yml masz charset ustawione z dobrym kodowaniem? Oraz przed samym dodaniem rekordu do bazy sprawdz jego kodowanie używając funkcji mb_detect_encoding.
Go to the top of the page
+Quote Post
jimmy_lee
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.03.2009

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


Wygląda na to, że przy dodawaniu do bazy, bo tekst przy tym wyjątku to:
  1. } catch (Exception $e) {
  2. Propel::log($e->getMessage(), Propel::LOG_ERR);
  3. throw new PropelException("Unable to execute INSERT statement.", $e);
  4. }
W settings.yml mam ustawiony utf-8...
W bazie nawet próbowałem ustawić je ręcznie, na wszelki wypadek... też jest utf-8...
mb_detect_encoding zwraca utf-8...

PS. Gdzieśtam na stronie mam prostą wyszukiwarkę, która używa CRITERIA::LIKE. Kiedy w niej wpiszę znak 'ń', to pojawia się coś takiego:
[wrapped: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like']


Ten post edytował jimmy_lee 11.03.2009, 19:59:10
Go to the top of the page
+Quote Post
Whisller
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 5
Dołączył: 29.03.2006
Skąd: Poznań

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


Sprawdź w webdebugerze czy Propel na pewno ustawia UTF-8 (SET NAMES 'utf8'), jeśli tak to na 99% masz złe kodowanie w bazie. Przynajmniej tak mi się wydaje z tego co opisałeś.

Ten post edytował Whisller 11.03.2009, 20:05:48
Go to the top of the page
+Quote Post
jimmy_lee
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.03.2009

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


Dzięki za pomoc, pomogło ponowne ręczne ustawienie utf-8 na każdej tablicy w bazie...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 13:51