diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php
index 871392ef5b863b873420dfede0c057420e64bd01..a501be1a997a94c210291e6de87ce37a81f8ea7e 100644
--- a/ecrire/base/connect_sql.php
+++ b/ecrire/base/connect_sql.php
@@ -85,12 +85,10 @@ function spip_connect($serveur='', $version='') {
 			return false;
 		}
 	} else	{
-		$charset = -1;
-		if (($f = $connexions[$index][$version]['select'])
-		&& ($r = $f('valeur','spip_meta', "nom='charset_sql_connexion'",'','','','',$serveur))
-		&& ($f = $connexions[$index][$version]['fetch'])
-		&& ($r = $f($r, NULL,$serveur)))
-			$charset = $r['valeur'] ? $r['valeur'] : -1;
+		if ($connexions[$index]['spip_connect_version']
+		AND $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'",'','','','',$serveur))
+			$charset = $r;
+		else $charset = -1;
 	}
 	if ($charset != -1) {
 		$f = $GLOBALS[$jeu]['set_charset'];