After finishing building a site on localhost, how do I transfer everything to a client’s server?

See Moving WordPress « WordPress Codex and Backing Up Your Database « WordPress Codex and How to Move WordPress Blog to New Domain or Location » My Digital Life and possibly Giving WordPress Its Own Directory « WordPress Codex

Deleted this added link as it advocates using a texteditor to change URLs in the dump; that will break serialized data. Use the SQL statements in How to Move WordPress Blog to New Domain or Location above. See Why is my database import losing text widget data?