Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Nieporządana zmiana charsetu i collation przez Symfony
SnakeEater
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 12.03.2010

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


Witam,
Mam taki popularny problem, że przeglądarka wyświetla mi źle polskie znaki. W settings.yml ustawiłem UTF-8. W templacie ustawiłem xml-lang oraz lang na pl, a charset na utf-8. Mimo to polskie znaki są źle wyświetlane. Zastosowałem pewną sztuczkę, która naprawia problem:
1. Usunąłem wszystkie tabele z bazy, zmieniłem charset dla mojej bazy poprzez ALTER ... oraz collation odpowiednio na utf8 i utf8_polish_ci.
2. Przekopiowałem schema sql do klienta mysql i w ten sposób stworzyłem tabele. Tabele odziedziczyły collation z ustawień dla bazy.
3. Wklepałem doctrine:data-load.
Wszystko po takiej operacji działa perfect (IMG:style_emoticons/default/smile.gif)
W momencie jednak gdy zrobię build-all --and-load wszystko wraca do poprzedniego stanu. Charset i collation dla bazy jak i samych tabel ustawiają się na domyślny dla bazy czyli jakiś latin1 swedish. Da się coś zrobić żeby Symfony używało utf-8?

Częściowo rozwiązałem problem
Dodałem w settings.yml
Kod
attributes:
  default_table_charset: utf8
  default_table_collate: utf8_general_ci

Mimo tego po każdym wykonaniu doctrine:build-all --and-load ustawienia dla bazy danych zmieniają się na domyślne dla całego systemu mysql. Sprawdzam to w INFORMATION_SCHEMA/TABLES. W sumie sprawa jest załatwiona, ale nie wiem czy dobrze ustawiać kodowanie settings.yml. Czy nie lepiej gdyby Symfony korzystało z ustawień dla bazy? Jeżeli utf8_general_ci pasuje dla innych języków? Co jeżeli jakiś Czech zechce zainstalować moje oprogramowanie? Czy nie bedzie musiał zmieniać ustawień w settings.yml?

Ten post edytował SnakeEater 14.03.2010, 00:23:12
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.09.2025 - 07:47