PHP文件处理中的控制字符


control characters in php file handling

我正在尝试使用PHP将£符号写入文件。然而,当我打开我创建的文件时,£符号总是以符号¬(在我的键盘上这是一个alt L)

开头。

有办法抑制这种情况吗?

$file=fopen($lastid,'w');
echo $file;
fwrite($file, "
    Date: $receipt_date
    Customer: $customer
    Receipt number: $id
    Description: $description

    Amount: £$NET
    VAT: £$VAT
    Total: £$gross
    test:£500
    Payment received with thanks by $payment

    UNIQUECAPTURE VAT:");
fclose($file);

这意味着源代码文件是使用不同的编码保存的,而不是您打开它的程序试图解释它。最有可能的是,您的源代码被保存为UTF-8(因此写入文件的文本是UTF-8),程序试图将其读取为ISO-8859-1。在UTF-8中£0xC2 0xA3,在ISO-8859-1中¬0xC2, £0xA3。请确保您试图打开它的程序足够智能,可以在看到它时识别UTF-8,或者显式地告诉它使用UTF-8解释文件。

无耻的自我推销,因为它正是关于这个主题:每个程序员绝对,积极地需要了解编码和字符集来处理文本

大家好,在我爷爷的帮助下,我找到了一个简单的方法,就是添加

    $input = str_replace("£", "£", $input); 

的磅符号现在显示为£
下面是最终代码

$input = str_replace("£", "£", $input);     
$file=fopen($lastid. $dash. $customer,'w');     

非常感谢你的帮助

由于某种原因,第二个£符号意味着&pound