From 8f31f7e75f0b03f8b6db467493c7d19fa3136ee5 Mon Sep 17 00:00:00 2001 From: Soreepeong <3614868+Soreepeong@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:36:08 +0900 Subject: [PATCH] Do not use std::wofstream --- DalamudCrashHandler/DalamudCrashHandler.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/DalamudCrashHandler/DalamudCrashHandler.cpp b/DalamudCrashHandler/DalamudCrashHandler.cpp index f883ba55b..2c84fb5b9 100644 --- a/DalamudCrashHandler/DalamudCrashHandler.cpp +++ b/DalamudCrashHandler/DalamudCrashHandler.cpp @@ -1078,7 +1078,14 @@ int main() { window_log_str = log.str(); print_exception_info_extended(exinfo.ExceptionPointers, exinfo.ContextRecord, log); - std::wofstream(logPath) << log.str(); + if (const auto temp = ws_to_u8(log.str()); !temp.empty()) { + std::ofstream(logPath, std::ios::binary).write(temp.data(), temp.size()); + } else { + // for some reason couldn't be converted to UTF-8; write in UTF-16 + const auto temp2 = log.str(); + const auto temp3 = std::span(reinterpret_cast(temp2.data()), temp2.size() * sizeof(temp2[0])); + std::ofstream(logPath, std::ios::binary).write(temp3.data(), temp3.size()); + } TASKDIALOGCONFIG config = { 0 };