试图使用chr(128)获取欧元符号

14

我期望这段代码:

define('EURO_SIMBOLO', chr(128));
$euro = EURO_SIMBOLO;
var_dump($euro);

想要显示 符号,但是却无法正常显示。为什么会这样?


3
这取决于您使用的字符集。您的网页使用哪种编码? - Pekka
嗨,Pekka,如何知道我的页面的编码方式? - tirenweb
@user 浏览器的“编码”或“字符集”菜单将在当前使用的编码上打勾。 - Pekka
欧元符号在 Latin-1 中不存在。然而,在 ISO-8859-15(Latin-9)中有一个表示,字符代码将是 \xA4164 - mario
5个回答

16
如果你想使用Unicode,更具体地说是UTF-8,我更喜欢它的灵活性,你可以使用以下代码输出欧元符号:
echo "\xE2\x82\xAc"; // 3 bytes-long multibyte character

3

不要使用 € 符号(alt + 0128),

请将您的欧元代码更改为

€

2
这只适用于使用125x代码页的情况。事实上,欧元符号并不包含在所有扩展ASCII字符集中(引入于ISO / IEC 8859-15),但它确实有一个事实上的Unicode字符。
如果仅用于在浏览器中显示,请考虑使用'€''€'

1

如果您正在使用带有欧元符号的字符集,则最有可能使用iso-8859-15,其中'€'字符在位置164处定义。

因此,如果您将128替换为164,则可能会更加幸运,尽管在utf-8环境中,先前的答案可能更合适。


0
在CP1252编码中,€符号的代码是128; 在ISO-8859-15中,该代码是164; 在Macintosh Roman中,它是219;
欧元符号是ASCII的一部分。可以查看 http://www.ascii-code.com/ 进一步了解。

你说的是 ASCII 字符集(0 到 255),其中包括在 1986 年之前添加的扩展表(128 到 255)。欧元符号是扩展表的第一个字符(128)。 - Gustavo Costa De Oliveira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接