我在Windows7上工作,使用phpunit、selenium和Firefox。
我有这样的代码:
$value1 = $this->getText("//div[@id= bla bla");
$this->assertEquals($value1, "\u20AC 1,12");其中\u20AC应该是欧洲的标志。我也尝试过€,€,€,但是phpunit一直给出错误,希望有一些不可能的字符组合。
打印$value1给了我同样奇怪的组合。
有谁知道如何使用、检查HTML特殊字符或我应该/可以使用哪种字符集?
发布于 2011-04-21 15:54:07
PHP不支持您正在尝试使用的\u转义,这就是它不起作用的原因。
一种方法是使用:
$euro = html_entity_decode('€');
$this->assertEquals($value1, "$euro 1,12");请注意,上面的代码虽然冗长且效率低下,但在可读性方面还是不错的。
除此之外,您几乎必须计算出原始的UTF字节序列,并对每个字节使用一个\x转义。例如,U+2022的UTF8字节序列可以在PHP中表示为"\xE2\x80\xA2"。我相信euro sign would be "\xE2\x82\xAC"
https://stackoverflow.com/questions/5741037
复制相似问题