Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Symfony2] brak polskich znaków
Forum PHP.pl > Forum > PHP > Frameworki
dragon7
Czy zna ktoś odpowiedź na pytanie dlaczego podczas generowania etykiety (first_name i second_name) dla pola repeated raz są polskie znaki, a następnym razem w ich miejscu są znaki zapytania?
adbacz
Złe kodowanie. Albo złe kodowanie strony (tagi w HEAD) albo coś z kodowaniem w skrypcie. Tego Ci raczej nikt nie powie dokładnie.

Skąd są wartości, które sa pokazywane gdy pojawia się ten błąd? Tłumaczenie jakieś z pliku, z DB? Na stałe w szablonie ustawione lub w kodzie?
dragon7
Co najciekawsze, etykiety pól formularza tj. Hasło, Potwierdź hasło są wpisane na sztywno w szablonie formularza. Problem pojawia się tylko przy polach repeated.

  1. $builder->add('password', 'repeated', array(
  2. 'first_name' => 'Hasło: ',
  3. 'second_name' => 'Potwierdź hasło: ',
  4. 'type' => 'password',
  5. 'invalid_message' => 'Hasła muszą być identyczne',
  6. 'options' => array(
  7. 'required' => true),
  8. 'attr' => array(
  9. 'minlength' => 6,)));
  10. $builder->add('email', 'repeated', array(
  11. 'first_name' => 'Email: ',
  12. 'second_name' => 'Potwierdź email: ',
  13. 'type' => 'email',
  14. 'invalid_message' => 'Emaile muszą być identyczne',
  15. 'options' => array(
  16. 'required' => true,
  17. 'trim' => true)));
adbacz
Sprawdź jakie masz kodowanie dokumentu HTML, może dlatego tak się dzieje. Jak te znaki wyglądają w źródle strony?
dragon7
Teraz ciężko stwierdzić, bo tak jak mówiłem raz jest poprawnie a raz nie. Od kiedy zmieniłem wyświetlanie etykiety na:

  1. {{ form_label(form_register.password['Hasło: ']) }}
  2. {{ form_label(form_register.password['Potwierdź hasło: ']) }}


działa w porządku. Mam nadzieję, że się nie popsuje.

EDIT: O właśnie znowu to się zrobiło

  1. <meta charset="UTF-8" />
  2.  
  3. <div class="form">
  4. <label for="SimplyUser_password_Hasło: ">Haso: </label>
  5. </div>
  6. <div class="form">
  7. <label for="SimplyUser_password_Potwierdź hasło: ">Potwierd haso: </label>
  8. </div>
  9. <div class="form">
  10. <label for="SimplyUser_email_Email: ">Email: </label>
  11. </div>
  12. <div class="form">
  13. <label for="SimplyUser_email_Potwierdź email: ">Potwierd email: </label>
  14. </div>
adbacz
To się dzieje sporadycznie tak? W takim razie jest jakaż rzecz, która wykonujesz przed tym, jak pojawia się ten błąd? Przypomnij sobie co zrobiłeś przed tym błędem, jaką wywołałeś metodę / funkcję. Może wysłałes jakiś dziwne nagłówki.

PS. Poza tym widze, że w atrybucie FOR dla LABEL polskie znaki wyświetlają się poprawnie - ciekawe...
dragon7
Działo się to sporadycznie. Może losowo, może po jakiejś mojej funkcji, ciężko stwierdzić. Chyba pozbyłem się tego na dobre robiąc tak:
  1. $builder->add('password', 'repeated', array(
  2. 'first_name' => 'first',
  3. 'second_name' => 'second',
  4. 'type' => 'password',
  5. 'invalid_message' => 'Hasła muszą być identyczne',
  6. 'options' => array(
  7. 'required' => true)));
  8. $builder->add('email', 'repeated', array(
  9. 'first_name' => 'first',
  10. 'second_name' => 'second',
  11. 'type' => 'email',
  12. 'invalid_message' => 'Emaile muszą być identyczne',
  13. 'options' => array(
  14. 'required' => true,
  15. 'trim' => true)));

  1. <div class="form">
  2. {{ form_label(form_register.password.first, '*Hasło:') }}
  3. </div>
  4. <div class="form">
  5. {{ form_label(form_register.password.second, '*Potwierdź hasło:') }}
  6. </div>
  7. <div class="form">
  8. {{ form_label(form_register.email.first, '*Email:') }}
  9. </div>
  10. <div class="form">
  11. {{ form_label(form_register.email.second, '*Potwierdź email:') }}
  12. </div>
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.