Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] SET NAMES utf8
Forum PHP.pl > Forum > PHP > Frameworki
eccocce
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
toffiak
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.
eccocce
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
Crozin
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).
eccocce
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.
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.