Знак евро (html special char) в селене / phpunit? - PullRequest
0 голосов
/ 21 апреля 2011

Я работаю в Windows 7 с phpunit & selenium & Firefox.

У меня есть этот код:

$value1 = $this->getText("//div[@id= bla bla");
$this->assertEquals($value1, "\u20AC 1,12");

, где \u20AC должно быть знаком евро.Я также пробовал €, €, €, но phpunit продолжает выдавать ошибку, ожидая некоторой невозможной комбинации символов.

Печать $value1 дает мне ту же странную комбинацию.

Кто-нибудь знает, как использовать, проверять специальные символы HTML или какую кодировку я должен / мог бы использовать?

1 Ответ

2 голосов
/ 21 апреля 2011

PHP не поддерживает экранирование \u, которое вы пытаетесь использовать, поэтому оно не работает.

Один из подходов заключается в использовании:

$euro = html_entity_decode('€');
$this->assertEquals($value1, "$euro 1,12");

Обратите внимание, что приведенное выше довольно удобно для удобства чтения, хотя оно многословно и неэффективно.

Кроме этого, вам в значительной степени приходится работать с необработанной последовательностью байтов UTF и использовать один \ x escape на байт. Например, последовательность байтов UTF8 для U + 2022 может быть представлена ​​в PHP как "\xE2\x80\xA2". Я считаю, что знак евро будет "\xE2\x82\xAC"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...