Frage

Ich bin mit dem MediaWiki API einigen Seiten mit einem experimentellen Roboter aktualisieren . Dieser Roboter verwendet die Java Apache HTTP-Client-Bibliothek, die Seiten zu aktualisieren.

(...)
PostMethod postMethod = new PostMethod("http://mymediawikiinstallation/w/api.php");
postMethod.addParameter("action","edit");
postMethod.addParameter("title",page.replace(' ', '_'));
postMethod.addParameter("summary","trying to fix this accent problem");
postMethod.addParameter("text",content);
postMethod.addParameter("basetimestamp",basetimestamp);
postMethod.addParameter("starttimestamp",starttimestamp);
postMethod.addParameter("token",token);
postMethod.addParameter("notminor","");
postMethod.addParameter("format","xml");
int status = httpClient.executeMethod(postMethod);
(...)

Doch der ‚Inhalt‘ Zeichenfolge enthält einige Akzente. System.out.prinln(content) sieht nicht gut aus, aber die akzentuierte Zeichen im Wiki schlecht aussehen. Z.B. 'Valrie' anstelle von 'Valérie'.

Wie kann ich dieses Problem beheben?

War es hilfreich?

Lösung

OK, die Änderung der Request-Header das Problem behoben.

postMethod.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8");

Andere Tipps

In meinem PHP-Code in die Mediawiki-API zu sprechen habe ich urlencode kodieren die Titel Parameter, und das scheint gut zu funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top