Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wielokodowa strona - jak obslużyć wiele kodowań
tosiek
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 7.07.2008

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


Witam. Potrzebuję na stronie użyć 3 kodowań:
*windows 1250
*iso-8859-2
*utf-8

I zastanawiam się jak to zrobić, tak żeby wszystko było w jednym formularzu, jeśli się nie da to chyba zostają kolejne kroki...

Chodzi mi w tym o kodowanie wprowadzonych danych, bo gdy strona ma zdefiniowane utf8 to wszystkei textarea nieazleżnie jakei krzaki by się wpisało i tak przkeonwertują się na utf8. Bo nie chce konwertowac za każdym razem z utf8 na wprowadzone i potem znowu na wyjściowe

Aktualnie używam tego, i prowizoryczne linki.
http://converter.tosiek.pl/

kod
  1. <?php
  2. if(isset($HTTP_GET_VARS['kodowanie']))
  3. {
  4.    $kodowanie = $mode = ( isset($HTTP_GET_VARS['kodowanie']) ) ? $HTTP_GET_VARS['kodowanie'] : $HTTP_GET_VARS['kodowanie'];
  5.    $kodowanie = htmlspecialchars($kodowanie);
  6.  
  7.    if($kodowanie == &#092;"iso-8859-2\")
  8.    {
  9.        echo &#092;"\n\n\";
  10.    }
  11.    if($kodowanie == &#092;"windows-1250\")
  12.    {
  13.        echo &#092;"\n\n\";
  14.    }
  15.    if(empty($kodowanie) || $kodowanie == &#092;"utf-8\" )
  16.    {
  17.        echo &#092;"\n\n\";
  18.    }
  19. }
  20. else
  21. {
  22.    echo &#092;"\n\n\";
  23. }
  24.  
  25. if($kodowanie == &#092;"iso-8859-2\")
  26. {
  27.    require_once(&#092;"./iso-8859-2.php\");
  28. }
  29.  
  30. if($kodowanie == &#092;"windows-1250\")
  31. {
  32.    require_once(&#092;"./windows-1250.php\");
  33. }
  34.  
  35. if(empty($kodowanie))
  36. {
  37.    require_once(&#092;"./utf-8.php\");
  38. }
  39. ?>


Ten post edytował tosiek 27.03.2009, 07:49:20
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Ja bym kodowanie zmieniał za pomocą nagłówków, użyj header" title="Zobacz w manualu PHP" target="_manual do tego celu.
Go to the top of the page
+Quote Post
tosiek
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 7.07.2008

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


OK. teraz tylko z czego korzystać:
*Accept-Charset ?
*Content-Encoding ?
*Content-Type ?

I nadal korzystać z tyvh plików językowych ? No i tylko jak zmieniać zależnie od wybranej opcji ?


Zmodyfikowany kod, chyba taki powinien być
  1. <?php
  2. header("Accept-Charset: utf-8");
  3.  
  4.  
  5. if(isset($HTTP_GET_VARS['kodowanie']))
  6. {
  7.    $kodowanie = $mode = ( isset($HTTP_GET_VARS['kodowanie']) ) ? $HTTP_GET_VARS['kodowanie'] : $HTTP_GET_VARS['kodowanie'];
  8.    $kodowanie = htmlspecialchars($kodowanie);
  9.  
  10.    if($kodowanie == "iso-8859-2")
  11.    {
  12.        header("Content-Type: text/html; charset=iso-8859-2");
  13.    }
  14.    if($kodowanie == "windows-1250")
  15.    {
  16.        header("Content-Type: text/html; charset=windows-1250");
  17.    }
  18.    if(empty($kodowanie) || $kodowanie == "utf-8" )
  19.    {
  20.        header("Content-Type: text/html; charset=utf-8");
  21.    }
  22. }
  23. else
  24. {
  25.    header("Content-Type: text/html; charset=utf-8");
  26. }
  27. ?>


Ten post edytował tosiek 27.03.2009, 08:05:17
Go to the top of the page
+Quote Post

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: 24.12.2025 - 19:03