Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] Polskie znaki w tablicy, Brak wyświetlenia
kusiu
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Witam,

Mam dziwny problem. Otóż mam taką sobie tablice, która jest wynikiem zapytania:

  1. echo "<pre>";
  2. print_r($wynik);
  3. echo "</pre>";


  1. sfOutputEscaperArrayDecorator Object
  2. (
  3. [count:private] => 12
  4. [value:protected] => Array
  5. (
  6. [0] => Array
  7. (
  8. [kodregionu] => 1
  9. [0] => 1
  10. [region] => BIELSKO-BIAŁA
  11. [1] => BIELSKO-BIAŁA
  12. )
  13.  
  14. [1] => Array
  15. (
  16. [kodregionu] => 2
  17. [0] => 2
  18. [region] => WROCŁAW
  19. [1] => WROCŁAW
  20. )
  21.  
  22. [2] => Array
  23. (
  24. [kodregionu] => 3
  25. [0] => 3
  26. [region] => OPOLE
  27. [1] => OPOLE
  28. )
  29.  
  30. [3] => Array
  31. (
  32. [kodregionu] => 4
  33. [0] => 4
  34. [region] => KATOWICE WSCHÓD
  35. [1] => KATOWICE WSCHÓD
  36. )
  37.  
  38. [4] => Array
  39. (
  40. [kodregionu] => 7
  41. [0] => 7
  42. [region] => ŁÓDŹ
  43. [1] => ŁÓDŹ
  44. )
  45.  
  46. [5] => Array
  47. (
  48. [kodregionu] => 9
  49. [0] => 9
  50. [region] => WARSZAWA
  51. [1] => WARSZAWA
  52. )
  53.  
  54. [6] => Array
  55. (
  56. [kodregionu] => 11
  57. [0] => 11
  58. [region] => TORUŃ
  59. [1] => TORUŃ
  60. )
  61.  
  62. [7] => Array
  63. (
  64. [kodregionu] => 16
  65. [0] => 16
  66. [region] => OLSZTYN
  67. [1] => OLSZTYN
  68. )
  69.  
  70. [8] => Array
  71. (
  72. [kodregionu] => 17
  73. [0] => 17
  74. [region] => BIAŁYSTOK
  75. [1] => BIAŁYSTOK
  76. )
  77.  
  78. [9] => Array
  79. (
  80. [kodregionu] => 18
  81. [0] => 18
  82. [region] => KIELCE
  83. [1] => KIELCE
  84. )
  85.  
  86. [10] => Array
  87. (
  88. [kodregionu] => 20
  89. [0] => 20
  90. [region] => KATOWICE ZACHÓD
  91. [1] => KATOWICE ZACHÓD
  92. )
  93.  
  94. [11] => Array
  95. (
  96. [kodregionu] => 21
  97. [0] => 21
  98. [region] => KALISZ
  99. [1] => KALISZ
  100. )
  101.  
  102. )
  103.  
  104. [escapingMethod:protected] => esc_specialchars
  105. )
  106.  


I teraz wyświetlam ją w ten sposób:

  1. <?php foreach($wynik as $k => $v): ?>
  2. <tr>
  3. <td><?php echo $wynik[$k]['region'] ?></td>
  4. <td><?php echo $wynik[$k]['kodregionu'] ?></td>
  5. </tr>
  6. <?php endforeach;?>


I teraz bład polega na tym, że nie wyświetlają się nazwy regionów posiadające polski znak



Kompletnie tego nie rozumiem, proszę o POMOC



Go to the top of the page
+Quote Post
XianN
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 9
Dołączył: 12.11.2005
Skąd: ze wnowu?!

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


prawdopodobnie uzywasz kodowania ISO-8859-2...

Escaper masz ustawiony na uzywanie htmlspecialchars, ktory nie obsluguje tego kodowania.

Jesli nie myle w zgadywaniu kodowania to masz 2 opcje:
1) zmienic kodowanie na UTF-8 (zalecane)
2) (na szybko) obejsc sfOutputEscaperArrayDecorator:
zamiast:
  1. <?php foreach($wynik as $k => $v): ?>

wstaw:
  1. <?php foreach($sf_data->getRaw('wynik') as $k => $v): ?>

Tylko pamietaj, ze jesli userzy moga te dane edytowac to pozbywasz sie zabezpieczenia przed szkodnikami.

Nie jestem pewien czy podalem Ci dobra metode w 2 opcji, ale powinienes szybko znalezc wlasciwa w API sf. Nie mam juz sily tego sprawdzac tongue.gif

Dobranoc.


--------------------
Yes, sex is always the answer, it's never a question
Cos' the answers yes, oh the answers yes.
Not just a suggestion, if you ask the question
Then its always yes, yeah!
Go to the top of the page
+Quote Post
kusiu
post
Post #3





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Cytat(XianN @ 26.06.2010, 00:56:47 ) *
prawdopodobnie uzywasz kodowania ISO-8859-2...

Escaper masz ustawiony na uzywanie htmlspecialchars, ktory nie obsluguje tego kodowania.

Jesli nie myle w zgadywaniu kodowania to masz 2 opcje:
1) zmienic kodowanie na UTF-8 (zalecane)
2) (na szybko) obejsc sfOutputEscaperArrayDecorator:
zamiast:
  1. <?php foreach($wynik as $k => $v): ?>

wstaw:
  1. <?php foreach($sf_data->getRaw('wynik') as $k => $v): ?>

Tylko pamietaj, ze jesli userzy moga te dane edytowac to pozbywasz sie zabezpieczenia przed szkodnikami.

Nie jestem pewien czy podalem Ci dobra metode w 2 opcji, ale powinienes szybko znalezc wlasciwa w API sf. Nie mam juz sily tego sprawdzac tongue.gif

Dobranoc.


Faktycznie używam innego kodowanie, mianowicie windows-1250 a to dlatego że łącze się z baza ms sql ktora ma takie kodowanie i zmiana na utf-8 odpada.
Pozmieniałem wszędzie gdzie się dało w bibliotekach symfony "utf-8" na "windows-1250" i śmiga poprawnie.
Dzięki
Go to the top of the page
+Quote Post
madeyt
post
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 17.02.2011

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


Jest jeszcze jedno wyjscie z tej sytuacji, bardziej globalne:

w settings.yml mozna wylaczyc escaping strategy, wtedy nie beda ginely polskie znaki przy operowaniu funkcja htmlspecialchars():

  1. all:
  2. .settings:
  3. escaping_strategy: true
  4. escaping_method: ESC_RAW


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 Aktualny czas: 19.08.2025 - 07:32