控制php文件处理中的字符

时间:2011-08-09 09:41:21

标签: php

我正在尝试使用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);

2 个答案:

答案 0 :(得分:2)

这意味着使用与您打开它的程序不同的编码保存源代码文件正试图解释它。很可能你的源代码保存为UTF-8(因此写入文件的文本是UTF-8),程序试图将其读作ISO-8859-1。 UTF-8中的£0xC2 0xA3,ISO-8859-1 ¬0xC2£0xA3。确保您尝试打开它的程序足够智能,以便在看到它时识别UTF-8或明确告诉它使用UTF-8解释文件。

无耻的自我推销,因为它正是关于这个话题:What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text

答案 1 :(得分:0)

嗨,在我的祖父的帮助下,我只是通过添加

找到了解决方法
    $input = str_replace("£", "£", $input); 

英镑符号现在显示为£
继续最后的代码

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

非常感谢你的帮助

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