Robię bota na Twittera, który postuje zdjęcia z opisem (zwykły tekst).
Używa kodowania base64 co sprawia, że polskie litery ąćźżółę w tweetach są widziane jako: ���.
Zwykłe konwertowanie Stringa z tymi znakami do base64 nie pomaga, ponieważ tweety są wtedy wysyłane i widziane jak coś w tym stylu: UGllcndzemUgemRq77+9Y2llI...
Czy można to jakoś poprawić?
Dopiero zaczynam z node.js
Kod:
var Twit = require('twit');
var config = require('./config');
var T = new Twit(config);
var fs = require('fs');
tweetIt();
function tweetIt() {
processing()
function processing() {
var filename = 'file/image.jpg';
var params = {
encoding: 'base64' //UTF-8?
};
var b64 = fs.readFileSync(filename, params);
T.post('media/upload', { media_data: b64 }, uploaded);
function uploaded(err, data, response) {
var id = data.media_id_string;
var tweet = {
status: 'Zażółć gęślą jaźń', //UTF-8?
media_ids: [id] };
T.post('statuses/update', tweet, tweeted); }
function tweeted(err, data, response) {
if (err) {
console.log('Something went wrong!'); }
else {
console.log('It worked!'); }
}
}
}