intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Một số vấn đề về xử lý Unicode trong Java

Chia sẻ: Vo Minh Tu | Ngày: | Loại File: PDF | Số trang:15

219
lượt xem
36
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'một số vấn đề về xử lý unicode trong java', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Một số vấn đề về xử lý Unicode trong Java

  1. M ts v nñ v X lý Unicode trong Java GVLT: Tr n Anh Dũng 1
  2. N i dung Gi i thi u v h tr ti ng Vi t trong java Giao di n GUI ti ng Vi t S d ng ti ng Vi t v i các trong IDE Lưu tr và x lý ti ng Vi t v i CSDL 2
  3. Gi i thi u các phiên b n JDK t 1.3 tr v trư c, kh năng hi n th Unicode r t kém. JDK1.4, l n ñ u tiên Sun ñưa ra JDK h tr multi languages và ta có th s d ng ti ng Vi t khá nhi u thành ph n c a Java như các Frame, Label, Text, Button,... Tuy nhiên title v n còn l i do xung ñ t font ch . T JDK1.5 kh năng h tr multi languages ñã khá hoàn mĩ, có th s d ng Ti ng Vi t b t c nơi nào trong Java. 3
  4. S d ng ti ng Vi t v i các IDE IDE (Integrated Development Environment ) Có r t nhi u IDE s d ng ñ coding Java r t hi u qu như: JBuilder NetBeans Jcreator jEdit Eclipse ... 4
  5. Hi n th ti ng Vi t Có th nh p tr c ti p ti ng Vi t trong source code Java b ng cách s d ng các b gõ ti ng Vi t, sau ñó lưu dư i ñ nh d ng Unicode (vd UTF-8, UTF-16), và cu i cùng xác ñ nh ki u mã hóa khi biên d ch. Dùng công c Native2Ascii c a JDK. Thu n l i c a cách dùng mã Unicode escape này là source s ñ c l p v i file mã hóa, nhưng ngư c l i khó ñ c và ch nh s a. 5
  6. B ng mã ANSI à:\u00e0 á:\u00e1 :\u1ea3 ã:\u00e3 :\u1ea1 ă:\u0103 :\u1eb1 :\u1eaf :\u1eb3 :\u1eb5 :\u1eb7 â:\u00e2 :\u1ea7 :\u1ea5 :\u1ea9 :\u1eab :\u1ead ñ:\u0111 è:\u00e8 é:\u00e9 :\u1ebb :\u1ebd :\u1eb9 ê:\u00ea :\u1ec1 :\u1ebf :\u1ec3 :\u1ec5 :\u1ec7 ò:\u00f2 ó:\u00f3 :\u1ecf õ:\u00f5 :\u1ecd ô:\u00f4 :\u1ed3 :\u1ed1 :\u1ed5 :\u1ed7 :\u1ed9 ơ:\u01a1 :\u1edd :\u1edb :\u1edf :\u1ee1 :\u1ee3 ù:\u00f9 ú:\u00fa :\u1ee7 ũ:\u0169 :\u1ee5 ư:\u01b0 :\u1eeb :\u1ee9 :\u1eed :\u1eef :\u1ef1 6
  7. B ng mã ANSI À:\u00c0 Á:\u00c1 :\u1ea2 Ã:\u00c3 :\u1ea0 Â:\u0102 :\u1eb0 :\u1eae :\u1eb2 :\u1eb4 :\u1eb6 Ă:\u00c2 :\u1ea6 :\u1ea4 :\u1ea8 :\u1eaa :\u1eac ð:\u0110 È:\u00c8 É:\u00c9 :\u1eba :\u1ebc :\u1eb8 Ê:\u00ca :\u1ec0 :\u1ebe :\u1ec2 :\u1ec4 :\u1ec6 Ò:\u00d2 Ó:\u00d3 :\u1ece Õ:\u00d5 :\u1ec6 Ô:\u00d4 :\u1ed2 :\u1ed0 :\u1ed4 :\u1ed6 :\u1ed8 7
  8. B ng mã ANSI Ơ:\u01a0 :\u1edc :\u1eda :\u1ede :\u1ee0 :\u1ee2 Ù:\u00d9 Ú:\u00da :\u1ee6 Ũ:\u0168 :\u1ee4 Ư:\u01af :\u1eea :\u1ee8 :\u1eec :\u1eee :\u1ef0 ì:\u00ec í:\u00ed :\u1ec9 ĩ:\u0129 :\u1ecb Ì:\u00cc Í:\u00cd :\u1ec8 Ĩ:\u0128 :\u1eca ỳ:\u1ef3 ý:\u00fd :\u1ef7 :\u1ef9 :\u1ef5 Ỳ:\u1ef2 Ý:\u00dd :\u1ef6 :\u1ef8 :\u1ef4 8
  9. Ví d 1 T o file DemoUnicode.java import javax.swing.JOptionPane; public class DemoUnicode { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Ch\u00E0o b\u1EA1n!!!", "Demo Unicode", JOptionPane.INFORMATION_MESSAGE); } } 9
  10. Ví d 2 Dùng các b gõ ti ng Vi t, lưu file ñ nh d ng Unicode import javax.swing.JOptionPane; public class DemoUnicode{ public static void main(String[] args){ JOptionPane.showMessageDialog(null, "Th nghi m Ti ng Vi t", "Ti ng Vi t", JOptionPane.INFORMATION_MESSAGE); } } Biên d ch và ch y chương trinh: javac -encoding unicode DemoUnicode.java java DemoUnicode 10
  11. Ví d 3 public class DemoUnicode3{ public static void main(String[] args){ JFrame frame = new JFrame("Nh n và hi n th Ti ng Vi t"); final JTextField textfield = new JTextField(10); final JLabel label = new JLabel(); final JButton button = new JButton("Nh n ñ xem"); button.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent arg){ label.setText(textfield.getText()); } } ); frame.getContentPane().setLayout(new FlowLayout()); frame.getContentPane().add(textfield); frame.getContentPane().add(button); frame.getContentPane().add(label); frame.setSize(300, 200); frame.setVisible(true); } } 11
  12. Hi n th ti ng Vi t Lưu ý: Khi lưu file dư i ñ nh d ng UTF-8, ta ph i ñ m b o r ng trình biên t p file không ghi BOM (byte order mark) vào ñ u file. Các kí t BOM s làm cho b biên d ch javac không th c hi n ñư c. Ví d như Notepad c a Windows là m t trình biên t p có ghi BOM, còn JCreator thì không 12
  13. Lưu ti ng Vi t trong CSDL Các h qu n tr CSDL và các ki u mã hóa: MS Access 97 UTF-8 T MS Access 2000 UTF-16 SQL Server 2000 UTF-16 MySQL UTF-8 13
  14. Lưu ti ng Vi t trong CSDL K t n i JDBC-ODBC (ki u 1) không h tr UTF-16 Lưu tr ti ng Vi t trong CSDL b ng cách thi t l p các field có ki u nchar, nvarchar Dùng kí t N trư c chu i ti ng Vi t trong câu l nh SQL. Ví d : UPDATE Customers SET City=N'Hà N i' WHERE City=N'London' 14
  15. 15
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2