Поддержка Проблемы и решения Что то с кодировкой.

  • Решено Emin777

    (@emin777)


    Добрый день . не могу разобраться. почему то в модуле твиттера отображаются такие вот иероглифы . http://www.fortunastom.ru
    Если есть возможность , поставьте на пусть истинны.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Yuri

    (@yube)

    Как они туда попали? Вы вставляли текст? Каким способом?

    Добрый день , Юрий.
    Я настроил через тему доступ к твиттер-аккаунту. Прописал все ключи, пароли и вот что выдает. ..

    <?php
    
                                    /**
                                     * Find links and create the hyperlinks
                                     */
                                    function hyperlinks($text) {
                                        $text = preg_replace('/\b([a-zA-Z]+:\/\/[\w_.\-]+\.[a-zA-Z]{2,6}[\/\w\-~.?=&%#+$*!]*)\b/i',"<a href="$1">$1</a>", $text);
                                        $text = preg_replace('/\b(?<!:\/\/)(www\.[\w_.\-]+\.[a-zA-Z]{2,6}[\/\w\-~.?=&%#+$*!]*)\b/i',"<a href="http://$1">$1</a>", $text);
                                        // match name@address
                                        $text = preg_replace("/\b([a-zA-Z][a-zA-Z0-9\_\.\-]*[a-zA-Z]*\@[a-zA-Z][a-zA-Z0-9\_\.\-]*[a-zA-Z]{2,6})\b/i","<a href="mailto://$1">$1</a>", $text);
                                        //mach #trendingtopics. Props to Michael Voigt
                                        $text = preg_replace('/([\.|\,|\:|\¡|\¿|\>|\{|\(]?)#{1}(\w*)([\.|\,|\:|\!|\?|\>|\}|\)]?)\s/i', "$1<a href="http://twitter.com/#search?q=$2">#$2</a>$3 ", $text);
                                        return $text;
                                    }
    
                                    /**
                                     * Find twitter usernames and link to them
                                     */
                                    function twitter_users($text) {
                                        $text = preg_replace('/([\.|\,|\:|\¡|\¿|\>|\{|\(]?)@{1}(\w*)([\.|\,|\:|\!|\?|\>|\}|\)]?)\s/i', "$1<a href="http://twitter.com/$2">@$2</a>$3 ", $text);
                                        return $text;
                                    }
    
                                    /**
                                     * Encode single quotes in your tweets
                                     */
                                    function encode_tweet($text) {
                                        $text = mb_convert_encoding( $text, "HTML-ENTITIES", "UTF-8");
                                        return $text;
                                    }
    
                                    $show_twitter = get_option('theme_show_twitter');
    
                                    $consumer_key           = get_option('theme_twitter_consumer_key');
                                    $consumer_secret        = get_option('theme_twitter_consumer_secret');
                                    $access_token           = get_option('theme_twitter_access_token');
                                    $access_token_secret    = get_option('theme_twitter_access_token_secret');
    
                                    if( $show_twitter == 'true' && !empty($consumer_key) && !empty($consumer_secret) && !empty($access_token) && !empty($access_token_secret) )
    								{
    
                                        /* Twitter API Version 1.1 Based Code */
                                        $twitter_user = get_option('theme_twitter_username');
                                        $tweets_count = 1;
                                        $transName = 'theme_tweets';
                                        $cacheTime = 10;
    
                                        if(false === ($twitterData = get_transient($transName) ) ){
                                            require_once get_template_directory().'/sections/twitteroauth/twitteroauth.php';
    
                                            $twitterConnection = new TwitterOAuth(
                                                $consumer_key,                  /* Consumer Key */
                                                $consumer_secret,   	        /* Consumer secret */
                                                $access_token,                  /* Access token */
                                                $access_token_secret            /* Access token secret */
                                            );
    
                                            $twitterData = $twitterConnection->get(
                                                'statuses/user_timeline',
                                                array(
                                                    'screen_name'     => $twitter_user,
                                                    'count'           => $tweets_count,
                                                    'exclude_replies' => true
                                                )
                                            );
    
                                            if($twitterConnection->http_code != 200)
                                            {
                                                $twitterData = get_transient($transName);
                                            }
                                            // Save our new transient.
                                            set_transient($transName, $twitterData, 60 * $cacheTime);
                                        }
    
                                        if(!empty($twitterData) || !isset($twitterData['error'])){
    
                                            $i=0;
                                            $hyperlinks = true;
                                            $encode_utf8 = true;
                                            $twitter_users = true;
                                            $update = true;
    
                                            echo '<ul id="twitter_update_list">';
                                            foreach($twitterData as $item){
                                                $msg = $item->text;
    
                                                if($encode_utf8) $msg = utf8_encode($msg);
    
                                                $msg = encode_tweet($msg);
    
                                                echo '<li class="twitter-item">';
                                                if ($hyperlinks) {    $msg = hyperlinks($msg); }
                                                if ($twitter_users)  { $msg = twitter_users($msg); }
                                                echo $msg;
                                                if($update) {
                                                    $time = strtotime($item->created_at);
    
                                                    if ( ( abs( time() - $time) ) < 86400 )
                                                        $h_time = sprintf( __('%s ago','framework'), human_time_diff( $time ) );
                                                    else
                                                        $h_time = date(__('jS M Y','framework'), $time);
    
                                                    echo sprintf( __('%s', 'framework'),' - <span class="twitter-timestamp">' . $h_time . '</span>' );
                                                }
                                                echo '';
                                                $i++;
                                                if ( $i >= $tweets_count ) break;
                                            }
                                            echo '';
                                        }
    								}
    
    							    ?>
    Модератор Yuri

    (@yube)

    Попробуйте заменить

    $encode_utf8 = true;

    на

    $encode_utf8 = false;

    Юрий , вы как всегда на высоте . Спасибо!

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Что то с кодировкой.» закрыта для новых ответов.