Windows: when using a Qt file dialog, convert to utf-8 not local8bit. Could not used a non-ascii topdir before the change
This commit is contained in:
parent
e802fce01e
commit
c54786e22c
@ -727,12 +727,18 @@ string ConfParamSLW::listToString()
|
|||||||
{
|
{
|
||||||
vector<string> ls;
|
vector<string> ls;
|
||||||
for (int i = 0; i < m_lb->count(); i++) {
|
for (int i = 0; i < m_lb->count(); i++) {
|
||||||
// General parameters are encoded as utf-8. File names as
|
// General parameters are encoded as utf-8.
|
||||||
// local8bit There is no hope for 8bit file names anyway
|
// Linux file names as local8bit There is no hope for 8bit
|
||||||
// except for luck: the original encoding is unknown.
|
// file names anyway except for luck: the original encoding is
|
||||||
|
// unknown. In most modern configs, local8Bits will be UTF-8.
|
||||||
|
// Except on Windows: we store file names as UTF-8
|
||||||
QString text = m_lb->item(i)->text();
|
QString text = m_lb->item(i)->text();
|
||||||
if (m_fsencoding) {
|
if (m_fsencoding) {
|
||||||
|
#ifdef _WIN32
|
||||||
|
ls.push_back((const char *)(text.toUtf8()));
|
||||||
|
#else
|
||||||
ls.push_back((const char *)(text.toLocal8Bit()));
|
ls.push_back((const char *)(text.toLocal8Bit()));
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
ls.push_back((const char *)(text.toUtf8()));
|
ls.push_back((const char *)(text.toUtf8()));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user