0

我有一个使用大量日语的 ZF2 应用程序。我正在尝试测试诸如人名和地址之类的输出。但是当我尝试$this->assertQueryContentContains()使用包含日文字符的 DOM 元素运行时,测试失败了。更重要的是,控制台中的输出显示的字符与我使用的字符完全不同。例如,我运行了以下测试:

$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++)。

4

1 回答 1

0

您可以尝试在断言函数中使用 mb_convert_encoding 函数,例如:

$this->assertQueryContentContains('span#address', mb_convert_encoding('<strong>Address:</strong> 〒300-1234 茨城県つくば市上郷1-2-3',"SJIS"));
于 2015-01-17T09:08:28.317 回答