0

我正在使用 php 编写一个 .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

如果您的代码中有htmlspecialcharsor htmlentities,请将其删除。

于 2013-01-01T05:49:16.383 回答