Korean text goes tofu while compiling to word on V3.1.1


After update to 3.1.1 on Mac.
My compile output is full of tofu.

It seems fine when I compile into PDF or Print option. But with those outputs I still can’t copy-paste to other applications.

Is there any solution I can try?

I can confirm this occurs for me for Chinese text as well, and while converting to both .docx format as well as .odt format. I’ve sent a sample project to Keith at Support, who can hopefully help us out.


It seems that the problem lies in the version of Java that is bundled with Scrivener (the file exporters rely on Java). A change in Apple’s security policy means that we cannot bundle an earlier version of Java than Java 10, but Oracle has changed its licence so that we cannot bundle their version; therefore Scrivener currently includes the OpenJDK version of Java 10. It seems, however, that something about the way it is bundled means that non-English characters aren’t working.

I’ll look into this, but the good news is that this is easy to fix on your side:

  1. Download and install Oracle’s version of Java on your system, e.g. from java.com/en/download/

  2. In Scrivener’s Preferences, under Sharing > Conversion, tick “Use system Java version for conversion if installed”.

  3. You may need to quit and relaunch Scrivener. You’ll know it’s using Oracle’s version of Java when the Java icon that pops up in the Dock while converting shows the coffee cup instead of the spaceship.

After that, Korean text should be fine.

All the best,

There is of course the other—and to me optimum—solution, compile to RTF and open that in Word and ‘Save As’ to .docx, letting Word do the conversion.

But then people seem to think that the roughly 10 seconds it took me to do that with a 50+ page document—including English and a small amount of Chinese, with footnotes, headings and section-breaks with new page all coming out as I want—requiring three clicks, given that one can set Scrivener to automatically open compiled documents in Word, though my compile is set up to open in Nisus Writer Pro so I closed that, went to the desktop and CTRL-clicked to choose “Open in Word” so extra clicks for me … that is too much expenditure of time and effort.

But each to his own.


This worked perfectly for me, thank you Keith. I already had Oracle Java installed so this was a 5 second fix.

I don’t think it’s really necessary to make assumptions about user requirements and say that something is a 10 second fix. The proper fix is one that resolves the root issue; yours is a workaround that doesn’t work for everyone. For me, your solution doesn’t work because RTF to ODT conversions fail to convert footnotes as separate fields because of RTF limitations. And I need ODT for my Zotero fields to convert properly.

Thanks! Finally I can compile correctly! :slight_smile:

Great. And just to let you know that I have found out the problem - there’s a missing component in the version of Java that we bundle, which will be fixed for 3.1.2.

Mark - one thing to bear in mind, too, is that some popular apps support .docx much better than they do .rtf. For instance, Apple’s pages only has rudimentary RTF support, but full support for DOCX; also, Vellum requires the DOCX format for import.

All the best,

I’m sorry, I misread it that the concern was achieving a .docx document, and my reply was purely in relation to that.

Apologies to all.


I work with Chinese, Japanese and Korean (in the field of historical linguistics). When I export Documents with Chinese to Word, I get an error message when opening Word, but then some kind of “recovery” process happens within Word so that the final document seems to coke out fine. I have not tested this extensively. But normally I use Pandoc to export to Word. And the I don’t find many problems beyond minor glitches, which happen whenever or however I export to Docx from any source.

I have not tested this extensively. However, if Pandoc circumvents the need to install any more Java than I have to, so much the better. I have many problems using Word in general with mixed language scripts, so I avoid the program.

This sounds as though the Java engines aren’t being used at all, for some reason. Could you possibly zip up and upload a small sample project that demonstrates the issue?

Thanks and all the best,