Khi thực hiện một chương trình Java, ví dụ, khi in dữ liệu đầu ra lên màn hình, bảng mã mặc định được sử dụng và đầu ra được thực hiện bằng bảng mã đó. Nếu bảng mã của đích đầu ra khác với bảng mã mặc định, bạn cần chỉ định bảng mã sẽ được sử dụng khi chạy chương trình. Ở đây, Kiyoshi sẽ giải thích cách chạy chương trình Java theo bảng mã của môi trường thực hiện.
Chạy Chương Trình với Bảng Mã Hóa Được Chỉ Định
Trong Java, bảng mã mặc định cho mỗi môi trường được thiết lập trong thuộc tính file.encoding
. Khi đầu ra từ chương trình, bảng mã mặc định cũng được sử dụng cho đầu ra. Do đó, nếu bảng mã sử dụng trong môi trường đầu ra khác với bảng mã mặc định, bạn cần chỉ định bảng mã sẽ được sử dụng khi chạy chương trình.
Để chỉ định bảng mã khi chạy một chương trình Java, bạn có thể sử dụng tùy chọn -D<name>=<value>
của java
để thiết lập một bảng mã khác cho thuộc tính file.encoding
.
java -Dfile.encoding=TênBảngMã TênLớp |
Hãy thay thế TênBảngMã
bằng bảng mã được sử dụng trong môi trường chạy chương trình của bạn. (Đối với các bảng mã có thể được chỉ định, hãy tham khảo bài viết Chỉ Định Bảng Mã Hóa của Tệp Nguồn Trong Quá Trình Biên Dịch.
Ví dụ, nếu môi trường thực hiện sử dụng UTF-8 làm bảng mã, bạn sẽ chạy chương trình như sau:
java -Dfile.encoding=UTF-8 TênLớp |
Mã Nguồn Mẫu
Hãy cùng test. Viết chương trình sau đây trong một trình soạn thảo văn bản, lưu nó dưới tên JSample4_1.java
, và đảm bảo rằng tệp nguồn được lưu với bảng mã ký tự UTF-8.
class JSample4_1 { |
Khởi chạy cửa sổ dòng lệnh và biên dịch tệp nguồn đã tạo.
javac -J-Dfile.encoding=UTF-8 JSample4_1.java |
Bảng mã mặc định của cửa sổ dòng lệnh là MS932. Để xác nhận, thực hiện lệnh sau trong cửa sổ dòng lệnh:
chcp |
Trong môi trường Windows cho Java, bảng mã mặc định là MS932, và bảng mã của cửa sổ dòng lệnh chạy chương trình cũng là MS932. Do đó, chương trình thường hoạt động mà không cần chỉ định bất cứ điều gì. Nếu bạn chạy chương trình như sau trong trạng thái này, nó sẽ chạy thành công:
java JSample4_1 |
Bây giờ, hãy thay đổi bảng mã được sử dụng trong cửa sổ dòng lệnh thành UTF-8 như một ví dụ. Thực hiện lệnh sau trong cửa sổ dòng lệnh:
chcp 65001 |
Bảng mã được sử dụng trong cửa sổ dòng lệnh đã được chuyển thành UTF-8.
Khi chạy chương trình trong trạng thái này, bảng mã mặc định của Java là MS932, nhưng môi trường đầu ra đã chuyển sang UTF-8. Do đó, chương trình sẽ không chạy đúng.
java JSample4_1 |
Trong trường hợp chạy chương trình trong môi trường có bảng mã mặc định khác, bạn phải chỉ định bảng mã như sau:
java -Dfile.encoding=UTF-8 JSample4_1 |
Lần này, chương trình chạy thành công.
Tổng kết
Trên đây Kiyoshi đã giải thích cách chạy chương trình Java theo bảng mã của môi trường thực hiện.
URL Link
HOME › java cơ bản cho người mới bắt đầu>>05. cài đặt mã hoá trong java