Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konfiguracja php.ini kodowanie iso-8859-2
Forum PHP.pl > Forum > PHP
majcher
Witam,

Mam dość nietypowy problem z konfiguracją php na serwerze apache.
Mam wymóg ustawienia kodowania iso-8859-2. Na moim lokalnym środowisku interpreter php nie akceptuje polskich znaków w argumentach funkcji, lub metod w klasach. Przykładowo,
  1. function bobek($name="ą", $val="ę") {
  2.  
  3. Zend_Debug::dump($name);
  4. Zend_Debug::dump($val);
  5. exit('wpada');
  6. }
  7. bobek('ąąąąąą', 'ęęęęę');



W powyższym przykładzie zmienne $name, oraz $val istnieją, ale są puste. Interpreter kasuje ich zawartość. Jeżeli w powyższym przykładzie zamiast liter "ą" "ę" wstawimy "a" "e" pod zmiennymi będą odpowienio ciągi "aaaaaa", "eeeee".


---mała uwaga---
Pierwszy raz spotykam się z takim problemem. Bardzo proszę o wskazówkę. Niestety nie jestem biegły w ustawieniach php na serwerze, dlatego proszę o wyrozumiałość. Starałem się znaleźć rozwiązanie w Internecie oraz tutaj na forum bezskutecznie - stąd ten wątek.
piasek2000
Ja poddałem się z kodowaniem polskich znaków Zamiast tego stosuje zamienniki polskich znaków. To jest uciążliwe i pracochłonne jednak przy napisaniu odpowiedniego skryptu zmieniającego polski znak na zamiennik jest do ogarnięcia.
CODE
$a = 'text';
$b=str_replace("ś","&#.347;",$a);
$c=str_replace("ą","&#.261;",$b);
echo $c;

oczywiście bez tej kropki
majcher
Niestety nie mogę sobie pozwolić na taką zmianę w kodzie. Potrzebuję raczej rozwiązania problemu. Dzięki za uwagę.
vermis
Sprawdz jakie masz kodowanie plików oraz jakie masz ustawienie kodowania w html'u. Może po prostu przeglądarka źle wyświetla te znaki. Możesz spróbowac w przeglądarce zmieniać kodowanie i zobaczysz czy coś się zmienia, czy nie.
Ja od lat używam utf-8 ale nie przypominam sobie żeby php wycinał polskie znaki ze stringów.
majcher
Ja też zawsze używałem utf8, ale w aktualnej firmie jest polityka, że kodujemy w iso - siła wyższa.
Na 95% to nie jest kwestia źle wyświetlanego tekstu przez przeglądarke, ponieważ w źródle nie ma jakichkolwiek znaków.
Kodowanie mam wymuszone flagą w konfiguracji apacha na iso-8859-2, zwykły html wyświetla się poprawnie.
W edytorze netbeans mam ustawione kodowanie na iso.
erix
A czy nagłówki do przeglądarki lecą prawidłowe?
majcher
erix <--- To są nagłówki skopiowane z firebuga zakładka sieć.


Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection close
Content-Length 3047
Content-Type text/html; charset=iso-8859-2
Date Thu, 13 Sep 2012 06:51:10 GMT
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma no-cache
Server Apache/2.2.22 (Fedora)
X-Powered-By PHP/5.4.6
Nagłówki żądaniapokaż źródło
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language pl,en-us;q=0.7,en;q=0.3
Cache-Control max-age=0
Connection keep-alive
Cookie PHPSESSID=lhriv2v6hmuq7t71dneduhmen1
Host kwk
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1
erix
A przykładowy skrypt?
majcher
erix <--- W pierwszym poście napisałem przykład. Jeżeli chodzi Ci o coś innego to proszę uściślij.
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.