Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] SET NAMES utf8, Doctrine 2
eccocce
post 5.12.2012, 11:07:01
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Witam!
Korzystamy z Symfony Doctrine 2.
Jak ustawić "set names utf8" bez dostępu do konfiguracji mysql?
Mamy sytuację:
- baza UTF8
- domyslne kodowanie bazy latin1
- kodowanie kodu UTF8

Gdy puszczamy zapytania do bazy, to polskie znaki są kodowane w latin1, bo Symfony bierze domyslne kodowanie :/
Niby ok, bo przy odczycie znów bierze latin1 i bez problemu wyswietlamy pl znaki na stronie itp. ale sortowanie w MySQL nie dziala przez krzaki ...

Dokumentacja wyraźnie zaleca ustawiane NAMES przez konfigurację MySQL, co jest w naszym wypadku ograniczeniem nie do przeskoczenia sad.gif
Go to the top of the page
+Quote Post
toffiak
post 5.12.2012, 11:11:30
Post #2





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Zmień kodowanie bazy na UTF-8 a następnie wypełnij ją tabelami, tabelę będą miały wtedy kodowanie UTF-8.
Nie wiem czy są teraz lepsze sposoby ale ten działa od pierwszych wersji RC Symfony 2.0.

Ten post edytował toffiak 5.12.2012, 11:13:23


--------------------
Go to the top of the page
+Quote Post
eccocce
post 5.12.2012, 11:40:03
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Dzięki, rozwiązanie być może działa, ale zrobiliśmy coś innego.

W Doctrine 2 DBAL Configuration
http://symfony.com/doc/2.0/reference/confi...l-configuration
trzeba ustawić "options":
Kod
options:
1002: "SET NAMES 'UTF8'"

od tej pory wszystko działa na UTF8.

Pozdrawiam
Go to the top of the page
+Quote Post
Crozin
post 5.12.2012, 11:44:53
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W konfiguracji Doctrine DBAL (na poziomie hostu, użytkownika czy hasła) podaj parametr charset. Zostanie on (w zależności od wersji PHP/PDO) uwzględniony w DNS-ie PDO, bądź wykonane zostanie zapytanie SET NAMES xxx; (w przypadku MySQL-a).
Go to the top of the page
+Quote Post
eccocce
post 5.12.2012, 11:46:29
Post #5





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


Crozin, właśnie tak mieliśmy zrobione od początku, jednak i tak było uwzględniane domyślne kodowanie bazy, nie wiemy dlaczego.
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: 24.07.2025 - 23:30