Rust handles character encoding by treating all strings as UTF-8 by default, using the String and &str types which guarantee valid UTF-8 sequences. You can read files with specific encodings or handle invalid UTF-8 using the std::fs module combined with the encoding_rs crate or by reading bytes first and converting with String::from_utf8_lossy.
use std::fs;
fn main() {
let bytes = fs::read("file.txt").expect("Failed to read file");
let text = String::from_utf8_lossy(&bytes);
println!("{text}");
}