Go into Settings->General->Network and make sure Data Roaming is turned OFF. That's all you need to do. Of course your phone should work with the wireless provider of the area in which you are traveling so you can still make calls, but they are likely going to be quite expensive.
I would also suggest you change your Fetch New Data settings to turn push off (if you have it on) and all email accounts to fetch only manually. The last time I traveled out of the country with my iPhone, I still picked up some roaming data charges despite having data roaming turned off. When I called AT&T, they stated it was because I sometimes connected to partner carriers in other countries and my email accounts were then set to fetch automatically every hour.
If you want to be absolutely sure, you should turn airplane mode on and then turn on wifi separately when you want to connect to a wifi network.