我有一个使用大量日语的ZF2应用程序。我试图测试人物姓名和地址等输出。但是当我尝试使用包含日语字符的DOM元素运行$this->assertQueryContentContains()
时,测试失败。而且,控制台中的输出显示的字符与我使用的字符完全不同。例如,我运行了以下测试:
$this->assertQueryContentContains('span#address', '<strong>Address:</strong> 〒300-1234 茨城県つくば市上郷1-2-3');
控制台的输出显示:
Failed asserting node denoted by span#address CONTAINS content "<strong>Address:</strong> 縲・00-1234縲闌ィ蝓守恁縺、縺上・蟶ゆク企・・托シ搾
正如您所看到的(假设您的浏览器可以正确显示日语),输出的字符与我实际输入的字符完全不同,这让我相信我需要设置某种设置允许测试utf-8。测试单元的文件以utf-8编码,没有BOM(通过Notepad ++)。
答案 0 :(得分:0)
您可以尝试在断言函数中使用mb_convert_encoding函数 例如:
$this->assertQueryContentContains('span#address', mb_convert_encoding('<strong>Address:</strong> 〒300-1234 茨城県つくば市上郷1-2-3',"SJIS"));