Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprintf - źle wyświetla polskie litery
Forum PHP.pl > Forum > PHP
michal_s
Cześć. Mam problem z poniższym kodem:

  1. function function_name() {
  2. $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s <span class="month">%3$s</span><span class="screen-reader-text">%4$s %5$s</span></time>';
  3. if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
  4. $time_string = '<time class="entry-date published" datetime="%1$s">%2$s <span class="month">%3$s</span><span class="screen-reader-text">%4$s %5$s</span></time>';
  5. }
  6.  
  7. $time_string = sprintf( $time_string,
  8. esc_attr( get_the_date( 'c' ) ),
  9. esc_html( get_the_date('j') ),
  10. substr(esc_html( get_the_date('F') ), 0, 3),
  11. substr(esc_html( get_the_date('F') ), 3, 16),
  12. esc_html( get_the_date('Y') )
  13. );
  14. echo '<p class="post-date"><span class="posted-on-text screen-reader-text">' . esc_html_x( 'Posted on', 'post date text', 'pad2' ) . '</span> <span class="posted-on">' . $time_string . '</span></p>';
  15. }


Zwraca on nazwy miesięcy i inne rzeczy. Problem jest np z takim miesiącem jak Październik. W tym wypadku PHP zwraca 'Pa�' zamiast 'Paź' .
Macie pomysł jak rozwiązać ten problem z kodowaniem? Jak to lepiej zrobić...?
Dzięki!
nospor
Czyli sugerujesz, ze jak nie uzyjesz sprintf to bedzie ci juz wyswietlal poprawnie?
trueblue
mb_substr zamiast substr?
http://php.net/manual/en/function.mb-substr.php
michal_s
Cytat(trueblue @ 17.10.2018, 16:51:58 ) *


Dzięki wielkie. O to właśnie chodziło wink.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.