Finalmente riesco a far comparire i valori sul display.

Allego il codice, in caso qualcun'altro volesse provare:
#include "U8glib.h"
#include "DHT.h"
#include <Wire.h>
#include <SPI.h>
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0); // I2C / TWI
DHT dht(2,DHT22); //Definisco il pin al quale è collegato il sensore e il tipo
int h;
int t;
String thisH = "";
String thisT = "";
void draw(void) {
//grafica a video
u8g.setFont(u8g_font_unifont);
//u8g.setFont(u8g_font_osb21);
u8g.drawStr( 0, 10, "Umidità:");
thisH = String(h) + "%";
const char* newH = (const char*) thisH.c_str(); //converto in stringa l'intero
u8g.drawStr( 80, 10, newH);
u8g.drawStr( 0, 32, "Temp:");
thisT = String(t) + "*C";
const char* newT = (const char*) thisT.c_str();
u8g.drawStr( 40, 32, newT);
}
void setup(void) {
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255); // white
}
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
u8g.setColorIndex(3); // max intensity
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1); // pixel on
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255, 255, 255);
}
}
void loop(void) {
h = dht.readHumidity();
t = dht.readTemperature();
// picture loop
u8g.firstPage();
do {
draw();
} while ( u8g.nextPage() );
// rebuild the picture after some delay
delay(2000);
}
