Yes xiaodao, you need both a DocType and Character encoding.
You should make the beginning of your markup read like this:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Then you should run it through the validator. See my sig below.
One thing I noticed right off, you're using clear:both; a lot... it seems like maybe you want to clear your floats with it? In #main you have several floats that are not being wrapped by #main. Change that CSS to this:
overflow:auto; is clearing your floats now. To see the difference (view it in FF), put a background color on #main and look at it with and without the overflow setting.
... one more thing, you may want to experiment with that character encoding. I have no experience with the language your using on your webpage.