A character set (sometimes called a code page) is simply a way of representing characters on a computer. There are many ways to represent characters on a computer, so there are many character sets in use today.
Because different characters are needed for different languages, character sets are often designed to support a particular language. Even for the same language, many different character sets may exist.
When computers or computer applications exchange character data, it is important that they either use the same character set or properly convert the data from one character set to the other during the transfer process. Otherwise, the data received by one machine may no longer have the same meaning as it had before the transfer. The same issue exists for numeric data, but there are fewer ways used to represent numbers, so it is not as big a problem.
A character set has a repertoire of characters it supports, a representation for character strings, and an implied collation based on this representation.