TextField with TextAreaWidgets converts all whitespaces to normal spaces


I need a TextAreaWidget which edits and stores text as-is. At the moment characters like the non-breaking space (u'\u00a0') will be converted to a normal space (u' ') which I want to avoid. It seems that the conversion is happening directly in the browser. For example: I open LibreOffice Writer, write a simple sentence with non-breaking spaces between the words, copy'n'paste it into the TextArea. Now when I copy'n'paste it back to Writer the non-breaking spaces are gone and replaces by normal spaces. So there must be some functionality on the browser's side which converts the text in some way. Of course the non-breaking spaces were also not stored in the content. But for some reason the at_validatite_field-Call sends the original text instead of the modified with normal spaces.
Can this conversion be deactivated?

This is the part of the code:

    widget = TextAreaWidget(
        label = """Expected output""",
        rows = 40,
        cols = 40,
        allow_file_upload = True,
        default_output_type = "text/html",

I am using Plone in version 4.3 because this is an old project which has to be modified.

I would say this is a HTML textarea field limitation. Try this with a plain textarea! If I paste a string with non-breaking spaces into any textarea and immediately (not saving) copy it and paste back in writer, there gone.

Hm... There was a bug 15 years ago on the Mozilla bugtracker: https://bugzilla.mozilla.org/show_bug.cgi?id=194498#c5
But that should be fixed. Could it really be nothing else?

I also tried to create simple using jsfiddle and the non-breaking space got converted to a normal space there too. That's weird.

Do you have any better idea to get special characters like the non-breaking space into a Plone form? The text should not be altered in any way.

Have you verified that the clipboard keeps the non-breaking blank?

So it seems the bug only appears in Firefox. Using Chrome non-breaking spaces are saved fine. So there is still this bug in Firefox which was marked as solved but it really was not solved.