godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.15k stars 20.21k forks source link

fail to load tscn file in godot 4.0(if the file name is unicode or has unicode inside obj) #53111

Closed imdjs closed 2 years ago

imdjs commented 2 years ago

Godot version

godot 4.0 test

System information

windows 10 x64 gtx670

Issue description

in godot 4.0 , if the obj is name as unicode or the obj file has unicode, it can be loaded into the scene and save as tscn but can't be open next time.

objError

Steps to reproduce

export obj from blender 2.93 and load it into godot 4.0, save as tscn. next time can't open the scene.

Minimal reproduction project

godot4.0_scene_error.zip Bug Squad Edit: added full size image directly on OP

Calinou commented 2 years ago

@imdjs Please upload a minimal reproduction project to make this easier to troubleshoot.

Also, can you reproduce this with Godot 3.3.3?

imdjs commented 2 years ago

godot 3.3 is fine, only error with godot 4.0

lyuma commented 2 years ago

Wow, somehow I assumed someone else had reported this already. Thank you for opening the issue, since this is kind of a blocker for me as half my assets in one of my projects have japanese filenames.

The same bug occurs when resources or other scenes with unicode names are referenced by a non-unicode .tscn

For example, one of my scenes references a material file with ascii name, but that material references a japanese texture file, which causes the whole material to fail load.

ERROR:
   at: ResourceLoaderText::_parse_ext_resource (scene\resources\resource_format_text.cpp:170)
Unicode parsing error: Invalid unicode codepoint ffffffc6.
ERROR:
   at: ResourceLoaderText::load (scene\resources\resource_format_text.cpp:649)
ERROR: Failed loading resource: res://test model/Materials/tex002.mat.tres. Make sure resources have been imported by opening the project in the editor at least once.
   at: (core\io\resource_loader.cpp:206)
Unicode parsing error: Invalid unicode codepoint ffffffc6.
Unicode parsing error: Invalid unicode codepoint ffffff92.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffab.
Unicode parsing error: Invalid unicode codepoint ffffffc2.
Unicode parsing error: Invalid unicode codepoint ffffffa6.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffa2.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffa2.
ERROR: Resource file not found: res://test model/ktntk_??N??????~??R/tex004.tga.
   at: (core\io\resource_loader.cpp:210)
Unicode parsing error: Invalid unicode codepoint ffffffc6.
Unicode parsing error: Invalid unicode codepoint ffffff92.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffab.
Unicode parsing error: Invalid unicode codepoint ffffffc2.
Unicode parsing error: Invalid unicode codepoint ffffffa6.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffa2.
Unicode parsing error: Invalid unicode codepoint ffffffc3.
Unicode parsing error: Invalid unicode codepoint ffffffa2.
Unicode parsing error: Invalid unicode codepoint ffffffc6.

@Calinou here is a reproduction project with unicode resources. I made on Sept 1st but forgot about it. UnicodeResource.zip

Zireael07 commented 2 years ago

I have a similar issue in 4.0, I will have to check if there are any non-ascii things around...