Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Fromatowanie dat a kodowanie
Forum PHP.pl > Forum > Przedszkole
Aztech
Przejrzałem artykuł scannera dotyczący formatowania daty oraz kilka postów. W części z nich doradzają aby dodać do setlocale tekst 'UTF8' bądź 'UTF-8' jeśli chcemy uzyskać wynikowy tekst z strftime w tym kodowaniu.
Mi niestety nie udało się tego uzyskać przy użyciu tych rad, w przypadku dodania ciągów z UTF, mam formatowanie po angielsku. co oznacza, że nie rozpoznał polskiego kodowania. Bez UTF-8 mam zwracany tekst w kodowaniu ISO-8859-2. Poradziłem sobie na razie w poniższy sposób. Pytanie, w jaki sposób powinienem zmienić setlocale, abym nie musiał używać mb_convert_encoding?
  1. <?php
  2. $arrLocale=array( "pl_PL", "polish_pol" );
  3.    setlocale(LC_ALL, $arrLocale );
  4.    $date=date_parse($this->date);
  5.    $fdate=strftime($format,mktime($date['hour'],$date['minute'],$date['second'],$date['month'],$date['day'],$date['year']));
  6.    return mb_convert_encoding($fdate,'UTF-8','ISO-8859-2');
  7. ?>


P.S. Mój system to Windows, client: XAMPPLITE. Docelowo strona będzie na serwerze linuxowym.
DREEMus
Też miałem z tym problem, i żadne możliwość dodanie "UTF8" czy "UTF-8" powodowała angielskojęzyczne nazwy dni, czy miesięcy ...
  1. <?php
  2. // zrób print_r
  3. print_r ( $_SERVER ); // albo $_ENV
  4. ?>

na dwóch maszynach i poszukaj na którejś np. typu procesora, na tej podstawie zrób sobie "IF"
mój przykład ...
  1. <?php
  2. function data () {
  3.    setlocale ( LC_ALL, 'polish' );
  4.    $dzien = strftime ( '%A' );
  5.    $data = strftime ( '%d %B %Y' );
  6.    $czas = date ( 'H:i' );
  7.  
  8.    # wybieramy system ...
  9.    if ( $_ENV['PROCESSOR_ARCHITECTURE'] == 'x86' ) {
  10.        $kodowanie = 'CP1250';
  11.        } else {
  12.            $kodowanie = 'ISO-8859-2';
  13.            }
  14.    echo 'Dziś jest ' . iconv ( $kodowanie, 'UTF-8', '<b>'.$dzien.'<br />'.$data.'</b> &nbsp; <b>'.$czas.'</b>' );
  15.    }
  16. ?>
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.