0

私はphpを使って1つの.txtファイルを書いています。特別な文字で作成すると、そのための Ascii コードが表示されます。たとえば、「わからない」という文字列を書くと、「わからない」と表示されます。人間が読める形式としてそれを書く方法は?

コードは以下です

function WriteErrorLog($IntegrationId, $errorStr){
    // get integration name--------


    $integrationnameQuery = "select * from integration where IntegrationId = $IntegrationId";
    $queryRes = mysql_query($integrationnameQuery);
    $resRows = mysql_fetch_array($queryRes);
    $integrationName = $resRows['Name'];
    if(!file_exists('errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt')){
        $errorFile = 'errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt';
        $fh = fopen($errorFile, 'w') or die("can't open file");
        fwrite($fh, 'Integration Name: '.$integrationName."\r\n\r\n".date('Y-m-d H:i:s').': '.$errorStr."\r\n\r\n");
        fclose($fh);
    }else{
        $errorFile = 'errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt';
        $fh = fopen($errorFile, 'a+') or die("can't open file");
        fwrite($fh, date('Y-m-d H:i:s').': '.$errorStr."\r\n\r\n");
        fclose($fh);
    }
}

function CreateErrorLog($IntegrationId, $errorStr){
    if (!is_dir('./errors/'.$IntegrationId)) {
        mkdir('./errors/'.$IntegrationId);
        WriteErrorLog($IntegrationId, $errorStr);
    }else{
        WriteErrorLog($IntegrationId,  $errorStr);
    }
}

以下のようにアクセスしています

CreateErrorLog('120', 'I don`t know');
4

2 に答える 2

1

特別な文字を特別なコードで書くことができます: たとえば、\n は 0x0A です

または、関数 chr() を使用して ASCII コードから文字に変換することもできます。

または、(f|s)printf 関数で %c を使用できます。printf("There is zero:%c", 0x30);

于 2013-01-01T05:50:28.980 に答える
0

htmlspecialcharsコードにまたはがある場合は、それhtmlentitiesを削除します。

于 2013-01-01T05:49:16.383 に答える