I'm going to guess this is a font issue, or perhaps an encoding issue.
What encoding does your HTML use? (This is easier to check so I listed it first) If it's something funky, you might have to translate it prior to feeding it to wkhtmltopdf. Reporting a bug might help too in this case.
Does wkhtmltopdf know how to find your fonts? If wkhtmltopdf can't find your system's fonts, then it's got a serious problem and might fall back on the "Unknown Character" character (the empty box).
Also, if your text contains characters that don't actually exist in the requested font, you'll get the unknown character character. If you're supposed to be using "Courier New" and the text is all Arabic... the font courier doesn't contain those characters. Browsers have various fall-back positions they can use, but a PDF renderer will just do what it's told to the best of its ability. And in this case, that's the unknown character character.
Simple Test: can wkhtmltopdf successfully convert a "hello world.html" to PDF on your system?
<html><body>Hello World</body></html>
If that works, you need to figure out where along the line between "brain dead" and "your real html" Things Go Awry.
text-rendering: geometricPrecision;
to thebody
class in your CSS, as per: github.com/wkhtmltopdf/wkhtmltopdf/issues/1734 – Forceps