Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Polskie znaki z ciasteczcka
rad11
post 13.11.2015, 19:19:03
Post #1





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Mam problem ustawiam sobie w PHP ciastka(z polskimi znakami):

  1. $langs = Langs::getAllTranslations();
  2.  
  3. foreach($langs as $index => $value){
  4. setcookie($index, $value);
  5. }


I pozniej probuje pobrac je w JS:

  1.  
  2. console.log(getCookie('t_hello'));
  3. function getCookie(cname) {
  4. var name = cname + "=";
  5. var ca = document.cookie.split(';');
  6. for (var i = 0; i < ca.length; i++) {
  7. var c = ca[i];
  8. while (c.charAt(0) == ' ')
  9. c = c.substring(1);
  10. if (c.indexOf(name) == 0)
  11. return c.substring(name.length, c.length);
  12. }
  13. return "";
  14. }


I tak np wyraz Cześć wygląda taK : Cze%25C5%259B%25C4%2587

W czym problem nagłówki są w UTF-8 i kodowanie plików też. Jakieś pomysły?

Niby decodeURI(getCookie()) działa.
Go to the top of the page
+Quote Post
trueblue
post 13.11.2015, 19:44:42
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


setcookie automatycznie urlencode'uje przy zapisie i urldecode'uje przy odczycie.
setrawcookie tego nie robi.


--------------------
Go to the top of the page
+Quote Post
Comandeer
post 13.11.2015, 21:52:35
Post #3





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Osobiście po prostu dodałbym dekodowanie do getCookie i tyle.


--------------------
Go to the top of the page
+Quote Post
rad11
post 16.11.2015, 12:33:28
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Wystąpił kolejny problem z którym zastanawiam się jak go rozwiązać mianowicie.
Jest tyle tlumaczeń ze brakuje w przeglądarce miejsca na cookie`sy(tak mi sie wydaje) i mam komunikat

Kod
400 Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
Cookie


jakies pomysly?

Ten post edytował rad11 16.11.2015, 12:40:19
Go to the top of the page
+Quote Post
nospor
post 16.11.2015, 12:39:44
Post #5





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Yyyyy..... ty tlumaczenia aplikacji wrzucasz do ciastek? A po grzyba?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
rad11
post 16.11.2015, 12:40:46
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Chce zrobić tak aby używać tłumaczeń i w js i w php tych samych
Go to the top of the page
+Quote Post
nospor
post 16.11.2015, 12:41:55
Post #7





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




No a kto ci broni wrzucac tlumaczenia do kodu js bezposrednio? No nikt smile.gif Ciacha nie sluza do trzymania tlumaczen


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
rad11
post 16.11.2015, 12:42:53
Post #8





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


w *.js nie bardzo jest jak wrzucic tlumaczenia z php
Go to the top of the page
+Quote Post
nospor
post 16.11.2015, 12:44:49
Post #9





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




alez jest

<?php echo 'var tl = "jakies tlumaczenie";'; ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redeemer
post 16.11.2015, 12:45:01
Post #10





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Zrób sobie "sztuczny" plik locale.js generowany dynamicznie (podczas requestu) przez PHP na podstawie aktualnego słownika.
Np:
Kod
var locale = new Array();
locale['msg1']='Costam 1';
locale['msg2']='Costam 2';
...


--------------------
Go to the top of the page
+Quote Post
rad11
post 16.11.2015, 13:21:23
Post #11





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Tak zrobiłem i działa na chwilę obecną super. Dzięki.
Go to the top of the page
+Quote Post
Comandeer
post 16.11.2015, 16:52:18
Post #12





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Hm… nie lepiej trzymać to w JSON-ie? I PHP i JS rozumieją ten format i nie trza robić osobnego pliku.


--------------------
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:29