The verb できます means that one has the skill or ability to do something(e.g., using foreign languages, playing sports, driving, cooking), whereas わかります indicates comprehension and possession of knowledge.
ジョンさんは 中国語が できます。
John is capable/skilled in Chinese.
いもうとは スキーが できます。
My younger sister can ski.
ジョンさんは 中国語が わかります。
John knows the Chinese language.
わたしは この 字の よみ方が わかりません。
I don't know how to read this character.