Loại bỏ dấu tiếng Việt trong tên file
Chả là có cái list nhạc phim, muốn upload lên nhưng mà tên file thì bằng tiếng Việt có dấu, host thì host windows nên không up lên được
Tìm phần mềm mãi cũng không có
Thử dùng php nhưng php chạy trên windows cũng không get đc tên file tiếng Việt, rồi thử dùng java thấy cũng không ăn thua,… nghĩ đến C++ nhưng mà nhớ là ngày xưa lập trình C++ thì hình như ko hỗ trợ unicode(utf-8) và lại trên máy cũng ko cài IDE cho C++ nên thôi ko thử nữa,… rồi dùng thử AutoIT nhưng cũng chưa thạo cho lắm, nên phải lấy danh sách file qua console và cũng bị lỗi dấu… Cuối cùng spam cả list yahoo để hỏi, một đứa bạn trả lời là dùng java được đấy, sao mình dùng mãi không được nhỉ
lúc đầu là in ra danh sách các file thấy nó toàn bị lỗi rồi thử print 1 đoạn chữ tiếng Việt ra thấy nó cũng lỗi, đoán là do cái phần hiển thị output nó ko hỗ trợ unicode giống như chạy qua cmd vậy nên cũng thử cả System.out.print(filename.equals(“nhạc.mp3″)) nhưng nó vẫn print ra false
không nghĩ đến trường hợp cái editor ko hỗ trợ unicode vì vẫn gõ tiếng Việt trên đó đều đều + encoding của file lại là utf-8. Hỏi lại đứa bạn lần nữa thì nó bảo phải dùng eclipse ấy, jcreator ko được đâu và phải chỉnh lại bảng mã soạn thảo cho cái eclipse là unicode. Lúc này mới thử kiểm tra bảng mã của cái jcreator thì thấy là nó ko có unicode
vậy mà mình cứ nghĩ là nó đặt sẵn unicode rồi tại vì vẫn gõ tiếng Việt trên đó đều mà
Và đây là đoạn mã nguồn để bỏ dấu trong tên file. Copy các file cần bỏ dấu vào thư mục input rồi chạy là xong
các file đã được bỏ dấu sẽ nằm ở thư mục output
. Ai thích dùng ngay thì tải Rename-1.1.zip về chạy run.bat
Các phiên bản:
- 1.0: Rename.rar
- 1.1: Rename-1.1.zip
import java.io.File;
class Rename{
public Rename(String source,String dest){
FileRename(source,dest);
}
public static void main (String[] args) {
new Rename("input","output");
}
public void FileRename(String source,String dest){
File fromDir=new File(source);
File destDir=new File(dest);
if(!fromDir.isDirectory())
if(!fromDir.mkdir()){
System.out.println("Cound not create dir "+source);
}
if(!destDir.isDirectory())
if(!destDir.mkdir()){
System.out.println("Cound not create dir "+dest);
}
String [] files=fromDir.list();
int stop=files.length;
for(int i=0;i<stop;i++){
String newname=rename(files[i]);
File file=new File(source+"/"+files[i]);
File newFileName=new File(dest+"/"+newname);
if(file.renameTo(newFileName))
System.out.println("Renamed "+files[i]+" to "+ newname);
}
}
public String rename(String file){
file=file.replace('à','a');file=file.replace('á','a');file=file.replace('ả','a');file=file.replace('ã','a');
file=file.replace('ạ','a');file=file.replace('ă','a');file=file.replace('ằ','a');file=file.replace('ắ','a');
file=file.replace('ẳ','a');file=file.replace('ẵ','a');file=file.replace('ặ','a');file=file.replace('â','a');
file=file.replace('ầ','a');file=file.replace('ấ','a');file=file.replace('ẩ','a');file=file.replace('ẫ','a');
file=file.replace('ậ','a');file=file.replace('À','a');file=file.replace('Á','a');file=file.replace('Ả','a');
file=file.replace('Ã','a');file=file.replace('Ạ','a');file=file.replace('Ă','a');file=file.replace('Ằ','a');
file=file.replace('Ắ','a');file=file.replace('Ẳ','a');file=file.replace('Ẵ','a');file=file.replace('Ặ','a');
file=file.replace('Â','a');file=file.replace('Ầ','a');file=file.replace('Ấ','a');file=file.replace('Ẩ','a');
file=file.replace('Ẫ','a');file=file.replace('Ậ','a');file=file.replace('đ','d');file=file.replace('Đ','d');
file=file.replace('è','e');file=file.replace('é','e');file=file.replace('ẻ','e');file=file.replace('ẽ','e');
file=file.replace('ẹ','e');file=file.replace('ê','e');file=file.replace('ề','e');file=file.replace('ế','e');
file=file.replace('ể','e');file=file.replace('ễ','e');file=file.replace('ệ','e');file=file.replace('È','e');
file=file.replace('É','e');file=file.replace('Ẻ','e');file=file.replace('Ẽ','e');file=file.replace('Ẹ','e');
file=file.replace('Ê','e');file=file.replace('Ề','e');file=file.replace('Ế','e');file=file.replace('Ể','e');
file=file.replace('Ễ','e');file=file.replace('Ệ','e');file=file.replace('ì','i');file=file.replace('í','i');
file=file.replace('ỉ','i');file=file.replace('ĩ','i');file=file.replace('ị','i');file=file.replace('Ì','i');
file=file.replace('Í','i');file=file.replace('Ỉ','i');file=file.replace('Ĩ','i');file=file.replace('Ị','i');
file=file.replace('ò','o');file=file.replace('ó','o');file=file.replace('ỏ','o');file=file.replace('õ','o');
file=file.replace('ọ','o');file=file.replace('ô','o');file=file.replace('ồ','o');file=file.replace('ố','o');
file=file.replace('ổ','o');file=file.replace('ỗ','o');file=file.replace('ộ','o');file=file.replace('ơ','o');
file=file.replace('ờ','o');file=file.replace('ớ','o');file=file.replace('ở','o');file=file.replace('ỡ','o');
file=file.replace('ợ','o');file=file.replace('Ò','o');file=file.replace('Ó','o');file=file.replace('Ỏ','o');
file=file.replace('Õ','o');file=file.replace('Ọ','o');file=file.replace('Ô','o');file=file.replace('Ồ','o');
file=file.replace('Ố','o');file=file.replace('Ổ','o');file=file.replace('Ỗ','o');file=file.replace('Ộ','o');
file=file.replace('Ơ','o');file=file.replace('Ờ','o');file=file.replace('Ớ','o');file=file.replace('Ở','o');
file=file.replace('Ỡ','o');file=file.replace('Ợ','o');file=file.replace('ù','u');file=file.replace('ú','u');
file=file.replace('ủ','u');file=file.replace('ũ','u');file=file.replace('ụ','u');file=file.replace('ư','u');
file=file.replace('ừ','u');file=file.replace('ứ','u');file=file.replace('ử','u');file=file.replace('ữ','u');
file=file.replace('ự','u');file=file.replace('Ù','u');file=file.replace('Ú','u');file=file.replace('Ủ','u');
file=file.replace('Ũ','u');file=file.replace('Ụ','u');file=file.replace('Ư','u');file=file.replace('Ừ','u');
file=file.replace('Ứ','u');file=file.replace('Ử','u');file=file.replace('Ữ','u');file=file.replace('Ự','u');
file=file.replace('ỳ','y');file=file.replace('ý','y');file=file.replace('ỷ','y');file=file.replace('ỹ','y');
file=file.replace('ỵ','y');file=file.replace('Y','y');file=file.replace('Ỳ','y');file=file.replace('Ý','y');
file=file.replace('Ỷ','y');file=file.replace('Ỹ','y');file=file.replace('Ỵ','y');
return file;
}
}
Còn đây là thành quả
Nhạc phim
Bạn làm đề tài bằng ngôn ngữ gì? Nếu java thì cứ dùng eclipse, để cái bảng mã của editor là unicode. Rồi get bình thường thôi, sẽ không bị lỗi đâu
Bạn có thể tham khảo cái JVnTextPro cái này là đọc file, nhưng mà đọc file với đọc dữ liệu trên web cũng chả khác nhau mấy đâu
Bạn As ơi, chương trình này đổi từ Đ thành d (thay vì Đ thành D) bạn có thể chỉnh lại dòng 40 để đổi từ chữ Đ thành D (in hoa) được không? Sáng nay cần rename 63 files của 63 nhân viên trong cty, thấy được chương trình của bạn thật hay quá! Nếu được thì gửi cho mình qua địa chỉ mail sau đây nhé: nguoiban1987@gmail.com
Thanks so much!
À, cho mình hỏi luôn: Có cách nào để gửi nhiều file khác nhau cho nhiều người khác nhau chỉ trong 1 thao tác không?
Mình đnag giữ bảng lương excel của cty gồm 63 nhân viên, mình phải tạo ra 63 files, mỗi file chỉ có chỉ số lương của duy nhất 1 người mà thôi, rồi gửi 63 files đó cho 63 địa chỉ mail khác nhau.
Mình có lên mạng search solution, họ có chỉ cách dùng mail merge trong word kết hợp với dữ liệu excel, nhưng bảng lương của mình nhiều cột lắm: số công, chức danh, chức vụ, họ tên, bảo hiểm, khấu trừ,…. Cả mấy chục cột, một trang word không thể chứa nổi, mà nếu có chứa nổi thì sẽ rất khó khăn cho người xem, nên phải gửi file excel. Bạn có cách gì thì chỉ giúp mình nhé!
Thanks again!
@nguoiban1987: Có source ở trên mà, bạn tự sửa nhé
. Còn 1 cách khác là lưu dưới dạng csv rồi tự code lấy 1 chương trình xử lý theo ý mình muốn
Còn về cái bảng lương thì 1 là dùng mail merge, 2 là gửi bảng lương tổng hợp cho tất cả mọi người rồi phần của ai thì người đó tự đọc
Ok, mình vừa update rồi đấy
Chào bạn! bạn có thể dùng tool này nhé : đảm bảo ok 100%
http://1kho.com/kho-phan-mem/188554-phan-mem-doi-ten-file-tieng-viet-co-dau-thanh-khong-dau-cuc-hiem.html