我正在尝试使用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);
答案 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');
非常感谢你的帮助
由于某种原因,第二个£
符号意味着£