What is the difference between "I've been to China" and "I've gone to China"?
Both are in the present perfect, but one uses the verb 'to go' and the other 'to be'. Is there a rule for this?
Is there any chance that the differences between "I have been" vs. "I have gone", are differences in English dialect (I don't know if this is the right word).
Edit Could I say that North American English speakers use "I have gone", and maybe U.K speakers say "I've been"? Or vice versa.
More idioms.
"I have been to somewhere" means that I have gone there and come back. But you can only use this in the perfect (present, past or even future): it isn't available in any other tense:
By the time I was twenty I had been to China.
By next autumn I will have been to China.
but not:
*I am to China.
*I will be to China.
*I am being to China.
The special meaning relates to the word 'been', not any other parts of 'to be'.
In most uses, "go" is unspecific about whether or not there is a return journey:
He's going to China next month.
is probably a trip, but could be emigration.
The case of "gone" brings in the special properties of the perfect. "He has gone" is talking about a state of affairs that includes, or relates to, the present. The most obvious interpretation of
He's gone to China.
is that he is still going, or still there. But as Robusto says the present-relevance could have a different interpretation, so
He's gone to China several times.
necessarily means that he must have returned (or gone somewhere else), so the present relevance is that the sequence of trips is seen as continuing. Contrast
He went to China several times.
which implies that the series of trips is over, and he is not going again.
(These are implications, and may be overridden by other words or by context; but in the absence of anything to the contrary, the sentences will have the meanings I am suggesting.)
Yes, there is a rule.
I've gone to China.
This means that you have gone to China and you are still there.
I've been to China.
This means that you have gone to China, but you have already returned, therefore you have been there.
Imagine the following:
Person A: Where's Peter?
Person B: He has gone to China.
This obviously means that Peter is missing, because he's in China.
Person A: Where have you been last week? I couldn't find you anywhere!
Peter: I've been to China.
P.S.: No matter how many times will you guys down-vote this answer, I'm still sure it's correct. Those who disagree are simply wrong.
In this current period in time, to imply that there is a difference between the two phrases is to grasp at straws when, regardless of culture or background, many native speakers use both phrases interchangeably.
The original implications and differences between the two phrases have faded, which is only natural for words and phrases in a live language. The difference between them is only relevant for explaining how language has evolved.
In short, given their usage in the example sentences, there is no difference in either phrase.
"Here is a puzzle: language change is functionally disadvantageous, in that it hinders communication, and it is also negatively evaluated by socially dominant groups. Nevertheless it is a universal fact of human history." (Univ. of Penn. Dept. of Linguistics)