How do I know if a boy/girl likes me?

Solution 1:

For marriage candidates, the color of their flower will let you know where you stand with them. The order is

White->Purple->Blue->Green->Yellow->Pink->Red

For non-marriage villagers, you can see their feelings for you by pressing [L] while looking at them. The order is:

squiggles->(...)->horizontal hash marks->
vertical hash marks->music notes->sparkles->hearts

As for if they like the gifts or not, I don't have enough "science" to confirm, but when they like the gift it seems they will visually change, as in their picture when chatting, to a more happy expression. Otherwise it is a disliked or worse gift.