Nonstandard characters in filenames [Linux]

C'trionh Tenbe

New member
Pronouns
she/her
Since I use Linux, mods with nonstandard characters in the filename (e.g. https://heliosphere.app/mod/a1273536a10c52waxc90s2z3a4 ) would give a file not found error. Until now, I could fix this by setting the XIVLauncher option Hack: Force locale to C.utf8, but since the most recent update, the Heliosphere plugin can't install anything at all with that option set, and gives an error like:-

Code:
Error type: System.InvalidOperationException
   Message: Cannot transcode invalid UTF-8 JSON text to UTF-16 string.
   HResult: 0x80131509
   at System.Text.Json.JsonReaderHelper.TranscodeHelper(ReadOnlySpan`1 utf8Unescaped)
   at System.Text.Json.JsonDocument.GetRawValueAsString(Int32 index)
   at Heliosphere.DownloadTask.<>c.<ManipTokensForOption>b__163_0(JsonElement manip) in /_/DownloadTask.cs:line 1704
   at System.Linq.Enumerable.ListSelectIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.ListSelectIterator`2.ToList()
   at Heliosphere.DownloadTask.ManipTokensForOption(IReadOnlyList`1 rawManipulations) in /_/DownloadTask.cs:line 1702
   at Heliosphere.DownloadTask.ConstructGroups(IDownloadTask_GetVersion info) in /_/DownloadTask.cs:line 1321
   at Heliosphere.DownloadTask.ConstructModPack(IDownloadTask_GetVersion info) in /_/DownloadTask.cs:line 1110
   at Heliosphere.DownloadTask.Run() in /_/DownloadTask.cs:line 177

Error type: System.Text.DecoderFallbackException
   Message: Unable to translate bytes [92] at index 0 from specified code page to Unicode.
   HResult: 0x80070057
   at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
   at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index)
   at System.Text.Encoding.GetCharCountWithFallback(ReadOnlySpan`1 bytes, Int32 originalBytesLength, DecoderNLS decoder)
   at System.Text.Encoding.GetCharCountWithFallback(Byte* pBytesOriginal, Int32 originalByteCount, Int32 bytesConsumedSoFar)
   at System.Text.Json.JsonReaderHelper.TranscodeHelper(ReadOnlySpan`1 utf8Unescaped)

Turning off the XIVLauncher hack removes that error, but then I'm back to the file not found problem with nonstandard characters in filenames.

Edit: I should say my system locale is en_GB.UTF-8. Since that's already a UTF-8 type, XIVLauncher does give me a warning that I "probably don't need this hack" when I enable it, but regardless, until this update these filenames didn't work without the hack and did work with it.


Never mind, my mistake. Although it didn't work when I had the UTF-8 hack turned on, did when I had it turned off, and the error message was a UTF transcoding error, it turned out to be completely unrelated. It just sometimes works and sometimes doesn't regardless of whether I have that hack enabled or not.
 
Last edited:
Back
Top