Utf 8 在PHPUnit中遇到日语文本问题

Utf 8 在PHPUnit中遇到日语文本问题,utf-8,phpunit,non-english,Utf 8,Phpunit,Non English,我有一个使用大量日语的ZF2应用程序。我试着测试一些东西的输出,比如人们的名字和地址。但是当我尝试使用包含日语字符的DOM元素运行$this->assertQueryContentContains()时,测试失败。此外,控制台中的输出显示的字符与我使用的完全不同。例如,我运行了以下测试: $this->assertQueryContentContains('span#address', '<strong>Address:</strong> 〒300-1234 茨城県

我有一个使用大量日语的ZF2应用程序。我试着测试一些东西的输出,比如人们的名字和地址。但是当我尝试使用包含日语字符的DOM元素运行
$this->assertQueryContentContains()
时,测试失败。此外,控制台中的输出显示的字符与我使用的完全不同。例如,我运行了以下测试:

$this->assertQueryContentContains('span#address', '<strong>Address:</strong> 〒300-1234 茨城県つくば市上郷1-2-3');
$this->assertQueryContentContains('span#address','地址:〒300-1234茨城県つくば市上郷1-2-3');
控制台的输出显示:

Failed asserting node denoted by span#address CONTAINS content  "<strong>Address:</strong> 縲・00-1234縲闌ィ蝓守恁縺、縺上・蟶ゆク企・・托シ搾
由span#address表示的失败断言节点包含内容“address:縲・00-1234縲闌ィ蝓守恁縺、縺上・蟶ゆク企・・托シ搾

正如您所看到的(假设您的浏览器可以正确显示日语),输出的字符与我实际输入的字符完全不同,这让我相信需要设置某种设置来允许测试utf-8。测试单元的文件以utf-8编码,没有BOM(通过记事本++).

您可以尝试在assert函数中使用mb\u convert\u编码函数吗 例如:

$this->assertQueryContentContains('span#address',mb#convert#u encoding('地址:〒300-1234茨城県つくば市上郷1-2-3',"),;

将预期内容和实际节点内容分配给VAR并回显它们。可能控制台没有正确处理UTF-8。
$this->assertQueryContentContains('span#address', mb_convert_encoding('<strong>Address:</strong> 〒300-1234 茨城県つくば市上郷1-2-3',"SJIS"));