diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php
index e17ce1168dcd4c2290479b07cc3eccabccedcf9b..ffba0d000cac3750c047519c3d8aa338bc6e3626 100644
--- a/apps/files_external/lib/smb.php
+++ b/apps/files_external/lib/smb.php
@@ -46,7 +46,9 @@ class SMB extends \OC\Files\Storage\StreamWrapper{
 			$path=substr($path, 0, -1);
 		}
 		$path = urlencode($path);
-		return 'smb://'.$this->user.':'.$this->password.'@'.$this->host.$this->share.$this->root.$path;
+		$user = urlencode($this->user);
+		$pass = urlencode($this->password);
+		return 'smb://'.$user.':'.$pass.'@'.$this->host.$this->share.$this->root.$path;
 	}
 
 	public function stat($path) {