diff --git a/aegisub/src/text_file_writer.cpp b/aegisub/src/text_file_writer.cpp index d2b5abe43..c4a328ff9 100644 --- a/aegisub/src/text_file_writer.cpp +++ b/aegisub/src/text_file_writer.cpp @@ -91,7 +91,11 @@ void TextFileWriter::WriteLineToFile(wxString line, bool addLineBreak) { // On non-windows this cast does nothing const char *data = reinterpret_cast(line.wx_str()); - size_t len = line.size() * sizeof(wxStringCharType); +#if wxUSE_UNICODE_UTF8 + size_t len = line.utf8_length(); +#else + size_t len = line.length() * sizeof(wxStringCharType); +#endif if (conv.get()) { std::string buf = conv->Convert(std::string(data, len));