1--TEST-- 2Test fopen() for write cp936 to UTF-8 path 3--SKIPIF-- 4<?php 5include __DIR__ . DIRECTORY_SEPARATOR . "util.inc"; 6 7skip_if_not_win(); 8if (getenv("SKIP_SLOW_TESTS")) die("skip slow test"); 9skip_if_no_required_exts(); 10 11?> 12--CONFLICTS-- 13file_cp936 14--FILE-- 15<?php 16/* 17#vim: set fileencoding=cp936 18#vim: set encoding=cp936 19*/ 20 21include __DIR__ . DIRECTORY_SEPARATOR . "util.inc"; 22 23$item = iconv('cp936', 'utf-8', "�yԇ���ֹ�·��"); // cp936 string 24$prefix = create_data("file_cp936", $item . "25"); 25$fn = $prefix . DIRECTORY_SEPARATOR . "{$item}25"; 26 27$f = fopen($fn, 'w'); 28if ($f) { 29 var_dump($f, fwrite($f, "writing to an mb filename")); 30 var_dump(fclose($f)); 31} else { 32 echo "open utf8 failed\n"; 33} 34 35var_dump(file_get_contents($fn)); 36 37get_basename_with_cp($fn, 65001); 38 39var_dump(unlink($fn)); 40 41remove_data("file_cp936"); 42 43?> 44===DONE=== 45--EXPECTF-- 46resource(%d) of type (stream) 47int(25) 48bool(true) 49string(25) "writing to an mb filename" 50Active code page: 65001 51getting basename of %s\測試多字節路徑25 52string(23) "測試多字節路徑25" 53bool(true) 54string(%d) "%s\測試多字節路徑25" 55Active code page: %d 56bool(true) 57===DONE=== 58