У меня есть французский сайт, который я хочу проанализировать, но у меня возникают проблемы с преобразованием (uft-8) html в latin-1.
Проблема показана в следующем тестовом примере phpunit:
class Test extends PHPUnit_Framework_TestCase {
private static function fromHTML($str){
return html_entity_decode($str, ENT_QUOTES, 'UTF-8');
}
public function test1(){
//REMOVE THE SPACE between the '&' and 'nbsp'. SO won't
//let me write it without the space
$strFrom = 'Wanted& nbsp;: les Chasseurs de Tamriel';
$strTo = 'Wanted : les Chasseurs de Tamriel';
$strFrom = self::fromHTML($strFrom);
$this->assertEquals($strTo, $strFrom);
}
public function test2(){
$strFrom = 'Remplacement d’Almalexia';
$strTo = 'Remplacement d’Almalexia';
$strFrom = self::fromHTML($strFrom);
$this->assertEquals($strTo, $strFrom);
}
}
test2 завершается нормально. test1, похоже, не работает, так как пробел не является правильным, поэтому при преобразовании в ascii он заканчивается как неизвестный символ ( ).
Как я могу гарантировать, что оба теста пройдут?