Дискование славянских персонажей

Я сортирую сообщения по алфавиту с первой буквой над сообщениями и отлично работает, но мне нужно отобразить некоторые славянские символы, такие как c, c, z, d ... (UTF-8).

Это код:

<?php
                $args = array(
                  'orderby' => 'title',
                  'order' => 'ASC',
                  'caller_get_posts' => 1,
                  'posts_per_page' => -1,
                 );
                query_posts($args);
                if (have_posts()) {
                   $curr_letter = '';
                   while (have_posts()) {
                      the_post();
                      $this_letter = strtoupper(substr($post->post_title,0,1));

                      if ($this_letter != $curr_letter) {
                         echo "<span>$this_letter</span>";
                         $curr_letter = $this_letter;
                      }
                      ?>

                      <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>

                 <?php }
                }
                ?>

Я попытался с этим:

$this_letter = mb_strtoupper(mb_substr(apply_filters('the_title',$post->post_title),0,1));
$this_letter = mb_convert_encoding($letter,'UTF-8', mb_detect_encoding($this_letter) );

вместо этого:

$this_letter = strtoupper(substr($post->post_title,0,1));

но не работает.

Я ценю вашу помощь.

php,mysql,wordpress,character-encoding,

0

Ответов: 1


0

Это должно работать:

<?php
            $args = array(
              'orderby' => 'title',
              'order' => 'ASC',
              'caller_get_posts' => 1,
              'posts_per_page' => -1,
             );
            query_posts($args);
            ?>
            <?php    
            if (have_posts()) {
               $curr_letter = '';
               while (have_posts()) {
                  the_post();
                   $this_letter = strtoupper(mb_substr(mb_convert_encoding($post->post_title,'UTF-8'),0,1));

                  if ($this_letter != $curr_letter) {
                     echo "<span>$this_letter</span>";
                     $curr_letter = $this_letter;
                  }
                  ?>

                  <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>

             <?php }
            }                
            ?>
PHP, MySQL, WordPress, кодировки символов,
Похожие вопросы