### Godot version

v4.0.3.stable.official [5222a99f5]

### System information

win10 21H2,Vulkan API 1.2.0

### Issue description

I'm for use `"Beta: Use Unicode UTF-8 for worldwide language support"`
The file name will display as normal, but `ZIPReader.read_file()` is still garbled

I tried using 7zip Packing files, 
Disable `"Beta: Use Unicode UTF-8 for worldwide language support"` 
Is still displayed normally, but `ZIPReader.read_file()`  is still garbled

![testzip](https://github.com/godotengine/godot/assets/104408400/9f064ed4-a4a5-472d-902d-97a77ba1c79d)


### Steps to reproduce

run node.tscn, look error reporting.

### Minimal reproduction project

[test_zip.zip](https://github.com/godotengine/godot/files/11873912/test_zip.zip)

fhead->store_buffer((const uint8_t *)pd.file_ofs[i].path_utf8.get_data(), string_len);
		for (uint32_t j = 0; j < pad; j++) {
			fhead->store_8(0);
		}
		fhead->store_64(pd.file_ofs[i].ofs);
		fhead->store_64(pd.file_ofs[i].size); 
		fhead->store_buffer(pd.file_ofs[i].md5.ptr(), 16); 
		uint32_t flags = 0;
		if (pd.file_ofs[i].encrypted) {
			flags |= PACK_FILE_ENCRYPTED;
		}
		fhead->store_32(flags);
	}
	if (fae.is_valid()) {
		fhead.unref();
		fae.unref();
	}
	int header_padding = _get_pad(PCK_PADDING, f->get_position());
	for (int i = 0; i < header_padding; i++) {
		f->store_8(0);
	}
	uint64_t file_base = f->get_position();
	f->seek(file_base_ofs);
	f->store_64(file_base); 
	f->seek(file_base);
	
	ftmp = FileAccess::open(tmppath, FileAccess::READ);
	if (ftmp.is_null()) {
		DirAccess::remove_file_or_error(tmppath);
		add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open file to read from path \"%s\"."), tmppath));