2016-11-11 5 views
0

charsetの問題があります。
localhostではすべて正常に動作しますが、リモートサーバ上では、奇妙な文字がàやèのようなものに取って代わります。私はそれが文字セットの問題だと私は読むphp.ini(私はそれを編集することはできません)の問題があると思う。
は、私は多くのことを試してみたそれを解決するには、次の
私は、HTML上の ローカルサーバーからリモートサーバーへの文字セットの問題

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

を設定して、PHPの

ini_set('default_charset', 'UTF-8'); 

、私の上の

AddDefaultCharset utf-8 

。 htaccessファイル
文字列にutf8_encodeを使用する場合l私がまだ見つけていないこの問題を解決する別の方法がありますか?
私がまだ見つけていないこの問題を解決する別の方法がありますか?

申し訳ありませんが、私はそれを言うのを忘れて:文字列は(私はYandexのAPIを使用しています)のfile_get_contentsで別のサイトから取得され

ここではいくつかのコードは次のとおりです。

$yandex = 'https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=my_api_key&lang=it-it&text=attualità'; 

// get json from this page 
$object = json_decode(file_get_contents($yandex)); 
$syns_array = array(); 
$type = ''; 
// if the word exists 
if (!empty($object->def) && $object->def != FALSE && $object->def != NULL) 
{ 
    $type = $object->def[0]->tr[0]->pos; 
    $rows = $object->def[0]->tr; 
    // if there're synonyms 
    if (!empty($rows) && $rows != FALSE && $rows != NULL) 
    { 
     foreach ($rows as $row) 
     { 
      array_push($syns_array, $row->text); 
      // if there're more rows with syns 
      if (!empty($row->syn) && $row->syn !== FALSE && $row->syn !== NULL) 
      { 
       foreach ($row->syn as $syns_obj) 
       { 
        array_push($syns_array, $syns_obj->text); 
       } 
      } 
     } 
    } 
} 

// I echo my synonyms from the array 
foreach($syns_array as $syn) { 
    echo $syn; 
} 
+1

どのようにそれらの文字を取得しましたか?それらはファイルにハードコードされているのですか、データベースから取得されていますか?チャオ。 – Federkun

+2

ファイルがutf-8に保存されていることを確認してください...どのようにファイルをサーバーに転送しますか? –

+0

私はデータベースを使用していません、私はYandexサイトからfile_get_contentsによって文字列を取ります –

答えて

1

私は私の言うことを忘れてしまいましたそれらの文字列でmb_strtolowerを使用していました。それをストローに置き換えると問題は解決します...申し訳ありません

関連する問題