It's unusual that a 5V - 44780/clone based character Lcd - will not accept the 3V3 GPIO levels (if that's what's in play) upon both D_Bus & control lines.
Timing, Lcd initialization, and Vo pin (contrast) all must follow the Lcd's specification.
Should the Lcd's pixel field fail to reveal - likely suspects include excessive (or floating) Vo pin. Usually - but not always - Vo of 0.5V will be a good start. As always - some attention to the Lcd spec pays off...