Michael Gerz wrote: > Peter Kümmel schrieb: >> http://bugzilla.lyx.org/show_bug.cgi?id=3203: >> >> >>> Yes, LyX treats all text files as utf8, and iconv can choke on >>> non-utf8 text >>> interpreted as utf8. I see the same here. >>> Since it is not possible to detect the file encoding reliably from >>> the contents >>> the only option I see to make this work is to let the user give the >>> encoding >>> (e. g. with a combox in the import dialog). The default could be the >>> locale >>> encoding or utf8. >>> >> >> >> Here an idea to fix this bug for most cases: When the UTF-8 import fails >> we try to read the file as local-8bit encoded. When this also fails a >> message box pops up: >> The file is neither UTF-8 nor local-8Bit encoded. >> To import the file please change its encoding. >> >> Is from_local8bit the right choice? >> >> Instead of showing the message we could later open an dialog to choose >> the >> encoding. But therefore we need a new dialog and a new conversion >> function >> docstring const from_encoding(std::string const & s); >> Or how is the conversion from an arbitrary encoding done? >> > > Is there any way to determine the encoding of a file? Can't any file be > considered as UTF-8 (even if it is not encoded in UTF-8)? >
Georg's comment in bugzilla is >>> Yes, LyX treats all text files as utf8, and iconv can choke on >>> non-utf8 text also >>> Since it is not possible to detect the file encoding reliably from >>> the contents Currently the import of non utf8 files doesn't work because the file IS considered as utf-8. So I don't see a general way without asking the user. > Suggestion: > > + _("The file is neither UTF-8 nor local-8Bit > encoded.\nTo import the file please change its encoding.")); > => > + _("The file is neither UTF-8-encoded nor local > 8Bit-encoded.\nTo import the file, please change its encoding.")); > > Michael > OK. -- Peter Kümmel