Skip to content

Commit 9e6b015

Browse files
YoannQDQnyalldawson
authored andcommittedApr 18, 2023
Fix loading file whose path contains accented character from PyQGIS
1 parent b7f4d7f commit 9e6b015

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed
 

‎src/providers/delimitedtext/qgsdelimitedtextprovider.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ QgsDelimitedTextProvider::QgsDelimitedTextProvider( const QString &uri, const Pr
8080

8181
QgsDebugMsgLevel( "Delimited text file uri is " + uri, 2 );
8282

83-
const QUrl url = QUrl::fromEncoded( uri.toLatin1() );
83+
const QUrl url = QUrl::fromEncoded( uri.toUtf8() );
8484
mFile = std::make_unique< QgsDelimitedTextFile >();
8585
mFile->setFromUrl( url );
8686

@@ -1290,14 +1290,14 @@ bool QgsDelimitedTextProvider::setSubsetString( const QString &subset, bool upda
12901290

12911291
void QgsDelimitedTextProvider::setUriParameter( const QString &parameter, const QString &value )
12921292
{
1293-
QUrl url = QUrl::fromEncoded( dataSourceUri().toLatin1() );
1293+
QUrl url = QUrl::fromEncoded( dataSourceUri().toUtf8() );
12941294
QUrlQuery query( url );
12951295
if ( query.hasQueryItem( parameter ) )
12961296
query.removeAllQueryItems( parameter );
12971297
if ( ! value.isEmpty() )
12981298
query.addQueryItem( parameter, value );
12991299
url.setQuery( query );
1300-
setDataSourceUri( QString::fromLatin1( url.toEncoded() ) );
1300+
setDataSourceUri( QString::fromUtf8( url.toEncoded() ) );
13011301
}
13021302

13031303
void QgsDelimitedTextProvider::onFileUpdated()
@@ -1369,7 +1369,7 @@ QString QgsDelimitedTextProvider::description() const
13691369

13701370
QVariantMap QgsDelimitedTextProviderMetadata::decodeUri( const QString &uri ) const
13711371
{
1372-
const QUrl url = QUrl::fromEncoded( uri.toLatin1() );
1372+
const QUrl url = QUrl::fromEncoded( uri.toUtf8() );
13731373
const QUrlQuery queryItems( url.query() );
13741374

13751375
QString subset;
@@ -1416,20 +1416,20 @@ QString QgsDelimitedTextProviderMetadata::encodeUri( const QVariantMap &parts )
14161416
queryItems.addQueryItem( QStringLiteral( "subset" ), parts.value( QStringLiteral( "subset" ) ).toString() );
14171417
url.setQuery( queryItems );
14181418

1419-
return QString::fromLatin1( url.toEncoded() );
1419+
return QString::fromUtf8( url.toEncoded() );
14201420
}
14211421

14221422
QString QgsDelimitedTextProviderMetadata::absoluteToRelativeUri( const QString &uri, const QgsReadWriteContext &context ) const
14231423
{
1424-
QUrl urlSource = QUrl::fromEncoded( uri.toLatin1() );
1424+
QUrl urlSource = QUrl::fromEncoded( uri.toUtf8() );
14251425
QUrl urlDest = QUrl::fromLocalFile( context.pathResolver().writePath( urlSource.toLocalFile() ) );
14261426
urlDest.setQuery( urlSource.query() );
1427-
return QString::fromLatin1( urlDest.toEncoded() );
1427+
return QString::fromUtf8( urlDest.toEncoded() );
14281428
}
14291429

14301430
QString QgsDelimitedTextProviderMetadata::relativeToAbsoluteUri( const QString &uri, const QgsReadWriteContext &context ) const
14311431
{
1432-
QUrl urlSource = QUrl::fromEncoded( uri.toLatin1() );
1432+
QUrl urlSource = QUrl::fromEncoded( uri.toUtf8() );
14331433

14341434
if ( !uri.startsWith( QLatin1String( "file:" ) ) )
14351435
{
@@ -1440,7 +1440,7 @@ QString QgsDelimitedTextProviderMetadata::relativeToAbsoluteUri( const QString &
14401440

14411441
QUrl urlDest = QUrl::fromLocalFile( context.pathResolver().readPath( urlSource.toLocalFile() ) );
14421442
urlDest.setQuery( urlSource.query() );
1443-
return QString::fromLatin1( urlDest.toEncoded() );
1443+
return QString::fromUtf8( urlDest.toEncoded() );
14441444
}
14451445

14461446
QgsProviderMetadata::ProviderCapabilities QgsDelimitedTextProviderMetadata::providerCapabilities() const

0 commit comments

Comments
 (0)
Please sign in to comment.