0
我有一個字符集問題。
在本地主機上一切正常,但現在在遠程服務器上,我看到奇怪的字符替換其他像à或è。我已經讀過它是一個字符集問題,我認爲這個問題可以是我的php.ini(我不能編輯它)。
爲了解決它,我已經嘗試了很多東西:
我設置從本地到遠程服務器的字符集問題
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
在HTML
,
ini_set('default_charset', 'UTF-8');
在PHP,
AddDefaultCharset utf-8
我
。 htaccess文件,
如果我使用utf8_encode字符串l etters被替換爲或類似的,如果我離開它沒有做任何事情的信件是
還有另一種方法來解決這個問題,我還沒有找到?
對不起,我忘了說:串是從其他網站通過的file_get_contents(我使用Yandex的API)
這裏取回的一些代碼:
$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;
}
你是如何檢索這些字符的?它們是硬編碼在文件中還是從數據庫中檢索?再見。 – Federkun
檢查文件是否保存在utf-8中...如何將文件傳輸到服務器? –
我沒有使用數據庫,我從Yandex站點的file_get_contents中獲取字符串 –