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