After studying Chinese for extended period of time, I stay perplexed with names of countries surrounding continental China: 蒙古 （menggu, Mongolia), 越南 (yuenan, Vietnam)，印度 (yindu, India)，印尼 (yinni, Indonesia), 馬來西亞 (malaixiya, Malaisia). As you can see, the chinese spelling of these toponims is almost equal to western one. From the historical point of view ancient Chinese absolutely must have special names for all these countries (or at least the kingdoms). However, the similarity between chinese and western spelling suggests that these toponims came to modern Chinese from western languages which replaced old names. If I am right in my theory, what is was the reason of such a substitution? And if any special name for ancient limitrophing countries existed (like, for example, 梵 for India), is it still relevant to use it in a modern language? Let's say, sometimes Korea is referred as 朝鮮, China itself as 天下 (these are more like epithets). Is there any special name for, say, Indochina, Philippines, Malaisia and Indonesia?
I have heard that it is China's policy to choose names for foreign countries in accordance with the wishes of the foreign country, and they usually either transliterate or calque the country's endonym†. Insofar as English-speaking countries do this, the names will be similar. Insofar as they don't, they will diverge.
Let me address several examples to demonstrate that China sticks with endonyms of the modern state most of the time, rather than imposing a historical exonym:
Mongolia calls itself Монгол Улс (mongol uls). 蒙古 is both the historical and modern Chinese term for Mongolia, and (like "Mongolia" in English) it obviously comes from the endonym.
The Republic of Korea calls itself 한국 (hanguk), which is exactly cognate to 韩国. "Han" was a traditional name for some Korean states, but the ROK explicitly chose their name to make reference to that. It was not simply China deciding to attach one of their old names to the modern country arbitrarily. Japan calls the ROK 韩国 too--English is the weird language here (and is attaching a historical name arbitrarily)!
The DPRK calls itself 조선 (chosŏn), also cognate to 朝鲜. Again, this is a historical term for a Korean kingdom, and the DPRK intentionally chose to associate themselves with that name. Japan calls them 朝鮮 too (actually 北朝鮮, which pisses them off), and English is the weird case.
Laos calls itself ລາວ (lao), and the modern Chinese transliteration of that is 老挝 (not 辽国!). There were a variety of different transliterations that China used to use, and the current choice wasn't official until the 50's. The English is also a transliteration of the endonym.
Myanmar (no longer called Burma in English) calls itself မြန်မာ (myăma). 缅甸 is clearly derived in part from that endonym. I don't know where the 甸 comes from, but I think 缅甸 is a long-standing historical term.
Cambodia calls itself កម្ពុជា (kampuciə), and China transliterates that as 柬埔寨 (if you speak a southern dialect, the 柬 makes more sense for "kam"). The English is also a transliteration, although not particularly accurate. I assume that China doesn't call them 真腊 for the same reason that no one calls Germany "The Holy Roman Empire" or "Prussia"--真腊 was a state that ceased to exist over a thousand years ago, and the modern Cambodian state doesn't call themselves that.
India calls itself India in English and भारत (Bhārat) in Hindi. India has many other languages, but most of its endonyms are related to Bhārat, and a few are related to India (e.g., இந்தியா = Indhiya). China has called India many names over the years. Currently it uses 印度 (obviously related to India), which has been in use since at least when Xuanzang traveled there. Another historical name is 天竺, but guess what? That's a transliteration of the same thing, except via Persian (Hinduka). This is arguably a case where China is not closely following the current endonym, but it's definitely not borrowing the name from English.
Anyhow, I hope these examples drive home the point that modern Chinese names for foreign countries are mostly chosen based on that country's endonym. They don't necessarily follow historical terminology in Chinese, nor do they borrow much from "western" naming.
† I don't have any citation for this, but here's an example for a city: Seoul used to be called 汉城 but, at the request of the ROK government, is now called 首尔 (to better reflect the endonym).
Is there any special name for, say, Indochina, Philippines, Malaisia and Indonesia?
ancient chinese names of kingdoms / nations in this area, here're some:
安南, 占城 ~ somewhere in today's vietnam
真臘 ~ roughly today's cambodia
暹羅 ~ thailand
滿剌加 ~ malacca, malaysia
爪哇 ~ java, indonesia
三佛齊 ~ sumatra, indonesia
浡泥 ~ brunei
蘇門答剌 ~ sumatera, indonesia
蘇祿 ~ sulu, philippines
for indian subcontinent, some more ancient chinese names:
榜葛剌 ~ bangladesh
錫蘭, 楞迦 ~ sri lanka
泥婆羅, 巴勒布, 廓爾喀 ~ nepal
india, well, many names:
身毒, 天竺, 印度, 溫都斯坦, 痕都, 忻都, 興都, 痕都斯坦
all these are transliterated from"hindu", "hindustan".
and, a special one: "披楞".
in 18th century, it was used to refer to the british india . in context, or point of view, it could be interpreted as "british empire", or the west bengal (calcutta is the capital :)
have fun :)