I wonder if "for 50 years" has the same meaning with "over 50 years" ?
Anyone who can help is highly appreciated.
Depends on the context, of course, but I think in general "for 50 years" implies a continuous state of something, whereas "over 50 years" implies change or growth.
For example, "she has lived in the United States for 50 years." That is a continuous state.
However, I would say "She perfected her invention over 50 years." In this example, something is actively being done.
Also, a quick note is that usually people don't say "over 50 years" unless they mean more than 50 years, as the comments indicated. In my second example, it would be much more common to here "She perfected her invention over the course of 50 years".