![]() |
![]() ![]() |
![]() |
![]()
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 ![]() 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 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 13 Dołączył: 23.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
dodaj na poczatku schema.yml
CODE options:
type: INNODB collate: utf8_general_ci charset: utf8 Ten post edytował bikerszymek 14.03.2010, 15:00:10 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem na początku schema.yml no i:
Kod Failing Query: "CREATE TABLE collate (id BIGINT AUTO_INCREMENT, PRIMARY KEY(id)) ENGINE = INNODB" (Symfony 1.4) Działa perfect. Dzięki. Mój błąd był taki, że zostały pliki modelów stworzone wcześniej bo nie dodałem spacji w yaml. Czy jest zatem jakaś opcja, żeby usunęło wszystkie pliki z doctrine/base zanim stworzy nowe? Ten post edytował SnakeEater 14.03.2010, 16:52:41 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Usunąć pliki modelów/filtrów/formularzy niezdefiniowanych w schema.yml możesz przy użyciu:
Kod $ ./symfony doctrine:clean
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Thank You.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:02 |