| Crates.io | utf8-supported |
| lib.rs | utf8-supported |
| version | 1.0.0 |
| created_at | 2025-05-14 20:00:28.776687+00 |
| updated_at | 2025-08-15 19:51:43.298525+00 |
| description | Determine the UTF-8 support of the current locale. |
| homepage | |
| repository | https://github.com/mmastrac/utf8-supported |
| max_upload_size | |
| id | 1673917 |
| size | 27,619 |
A Rust library for determining the UTF-8 support of the current terminal locale.
Example:
use std::io::Write;
match utf8_supported::utf8_supported() {
utf8_supported::Utf8Support::UTF8 => println!("is_utf8: UTF-8 ✅"),
utf8_supported::Utf8Support::ASCII => println!("is_utf8: ASCII"),
utf8_supported::Utf8Support::Latin1 => std::io::stdout()
.write_all(b"is_utf8: Latin 1: \xb2\xb3\xb9\n")
.unwrap(),
utf8_supported::Utf8Support::Other => println!("is_utf8: Other"),
utf8_supported::Utf8Support::Unknown => println!("is_utf8: Unknown"),
}
This library can also be used to ensure that a child process runs with the C locale:
#[cfg(unix)]
{
use std::process::Command;
use utf8_supported::CommandUtf8Ext;
let mut cmd = Command::new("ls");
if utf8_supported::utf8_supported() != utf8_supported::Utf8Support::UTF8 {
cmd.set_c_locale();
}
cmd.output().unwrap();
}