### 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)

if (!p_force_save && customize_resources_plugins.is_empty() && customize_scenes_plugins.is_empty()) {
		return p_path; 
	}
	
	if (export_cache.has(p_path)) {
		FileExportCache &fec = export_cache[p_path];
		if (fec.saved_path.is_empty() || FileAccess::exists(fec.saved_path)) {
			
			uint64_t mod_time = FileAccess::get_modified_time(p_path);
			if (fec.source_modified_time == mod_time) {
				
				fec.used = true;
				return fec.saved_path.is_empty() ? p_path : fec.saved_path;
			}
			String md5 = FileAccess::get_md5(p_path);
			if (FileAccess::exists(p_path + ".import")) {
				
				md5 += FileAccess::get_md5(p_path + ".import");
			}
			if (fec.source_md5 == md5) {
				
				fec.source_modified_time = mod_time;
				fec.used = true;
				return fec.saved_path.is_empty() ? p_path : fec.saved_path;
			}
		}
	}
	FileExportCache fec;
	fec.used = true;
	fec.source_modified_time = FileAccess::get_modified_time(p_path);