It depends on what you're trying to do. jbennet is right - you need codecs. However, many MP3 encoders come with codecs built right in, so you need to decide what you're trying to do.
Basic encoders include
LAME - very popular encoder, although development has halted, and is of very low quality
BladeEnc - a slightly better encoder, and development is also halted
NotLame - A great improvement over LAME and probably the best option out of all of these
However, usually the problem is that you have to use these encoders with a special command line program, kind of unideal for ripping CDs, etc. Hopefully you can find applications that are wrappers for these encoders that meet your needs.