CsvOutputEncodingTest.php 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Writer\Csv;
  3. use PhpOffice\PhpSpreadsheet\Shared\File;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PhpOffice\PhpSpreadsheet\Writer\Csv as CsvWriter;
  6. use PhpOffice\PhpSpreadsheetTests\Functional;
  7. class CsvOutputEncodingTest extends Functional\AbstractFunctional
  8. {
  9. public function testEncoding(): void
  10. {
  11. $spreadsheet = new Spreadsheet();
  12. $sheet = $spreadsheet->getActiveSheet();
  13. $sheet->setCellValue('A1', 'こんにちは!');
  14. $sheet->setCellValue('B1', 'Hello!');
  15. $writer = new CsvWriter($spreadsheet);
  16. $filename = File::temporaryFilename();
  17. $writer->setUseBOM(false);
  18. $writer->setOutputEncoding('SJIS-win');
  19. $writer->save($filename);
  20. $contents = file_get_contents($filename);
  21. unlink($filename);
  22. // self::assertStringContainsString(mb_convert_encoding('こんにちは!', 'SJIS-win'), $contents);
  23. self::assertStringContainsString("\x82\xb1\x82\xf1\x82\xc9\x82\xbf\x82\xcd\x81\x49", $contents);
  24. }
  25. }