but I see all kinds of symbols scrolling through the lcd
This means the contrast is OK so you can forget about that part and concentrate on the software.
If you have done any internet research on LCDs you should realize that getting these things to work has been a problem for many people for quite a while. As a result it seems that as soon as someone gets one to work they post their code. The problem is that many of these 'solutions' do not adhere to the manufacturers datasheet and therefore the fact that they work on one particular LCD does not mean that they will work on others.
The current version of LiquidCrystal is proven code that does follow the manufacturers datasheet, particularly when it comes to timing. You will save yourself a lot of problems if you forget about the LCD4Bit library.