Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wielokodowa strona - jak obslużyć wiele kodowań
Forum PHP.pl > Forum > Przedszkole
tosiek
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. ?>
Fifi209
Ja bym kodowanie zmieniał za pomocą nagłówków, użyj header" title="Zobacz w manualu PHP" target="_manual do tego celu.
tosiek
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. ?>
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.