文字コード は、「あ」や「A」といった文字を、コンピュータが扱える 数字(2進数)に対応づける取り決め です。コンピュータは文字を直接は理解できないため、「この番号はこの文字」という共通の対応表が必要になります。
歴史的にいろいろな方式が作られましたが、現在の主流は世界中の文字を1つの体系で扱える UTF-8 です。日本語向けには Shift_JIS や EUC-JP といった古い方式もあり、これらが混在すると問題が起きます。
書き込む側と読み取る側で文字コードが食い違うと、文字が意味不明な記号に化ける 文字化け が発生します。
トラブルを避けるコツはシンプルで、新しく作るファイルやWebページは UTF-8 にそろえる ことです。