Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozpoznawanie strony kodowej
Forum PHP.pl > Forum > PHP > Object-oriented programming
JacekQ
Witam,
Najpierw w skrócie, w jaki sposób można rozpoznać stronę kodową tekstu wpisanego przez użytkownika w formularzu.

A teraz długi opis problemu ...
W bazie danych mam tabelkę z kolumną tekstową z kodowaniem utf-8.
Skrypt php wyświetla zawartość tej tabelki i formularz umożliwiający dodanie nowej wartości do niej. Strona kodowa skryptu to windows-1250, nagłówek meta też podaje taką stronę, zawartość tabelki jest konwertowana za pomocą iconv (przy odczycie i wstawianiu nowej wartości).
Czyli przeglądarka powinna się automatycznie ustawić na stronę kodową windows-1250 i zawartość tabelki jest wyświetlana poprawnie.
Jeżeli użytkownik sam ustawi jakąś inną stronę kodową w przeglądarce (np. iso-8859-2) to wszystkie konwersje trafia bo na sztywno jest wpisane:
  1. <?php
  2.  
  3. // ...
  4. $query = &#092;"INSERT INTO t (tekst) VALUES ('\" . iconv(\"windows-1250\", \"uft-8\", $_POST[\"tekst\"]) . \"')\";
  5. mysql_query($query);
  6. // ...
  7.  
  8. ?>


I jeszcze raz powtarzam pytanie: jak rozpoznać stronę kodową tekstu który przyszedł?
DeyV
hmm. Spróbuj może z iconv_get_encoding" title="Zobacz w manualu PHP" target="_manual()
JacekQ
Z opisu iconv_get_encoding() wynika, że pobiera ona informację o kodowaniu ustawionym za pomocą iconv_set_encoding() ...
Czyli jeżeli dobrze rozumiem ... ja sobię ustawię jakąś stronę, a użytkownik ją zmieni w przeglądarce to ja i tak się o tym nie dowiem sad.gif
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.