我在Windows 7上工作,使用phpunit&硒和Firefox浏览器。
我有这段代码:
$value1 = $this->getText("//div[@id= bla bla");
$this->assertEquals($value1, "\u20AC 1,12");
其中\u20AC
应为欧元符号。我还尝试了€
,€
,€
,但是phpunit一直在发错,期待一些不可能的角色组合。
打印$value1
给了我同样奇怪的组合。
有人知道使用方法,检查HTML特殊字符或我应该/可以使用哪个字符集?
答案 0 :(得分:2)
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"