[HELP] lỗi phông tiếng việt encode_Base64 khi hiển thị trong [jsp-servlet]

Lê Mạnh

New Member
20/8/16
1
0
0
30
Hà Nội
- Mình sử dụng database SQLServer các trường text mình khai báo kiểu varchar
-Mình có viết 2 hàm : EncodeBase64 để mã hóa chuỗi tiếng việt người dùng nhập vào trước khi cho vào database , và 1 hàm : DecodeBase64 để giải mã rồi hiển thị lên giao diện
Đây là code 2 hàm :
Code:
public static String Encodebase64(String strValue) {
        byte[] encodeBytes = strValue.getBytes();
        java.util.Base64.Encoder encodeBase64 = java.util.Base64.getEncoder();
        String strEncode = encodeBase64.encodeToString(encodeBytes);
       
        return strEncode;
    }

public static String DecodeBase64(String strEncode) {
        byte[] decodeBytes = strEncode.getBytes();
        java.util.Base64.Decoder dcode = java.util.Base64.getDecoder();
        byte[] bytesDecode = dcode.decode(strEncode);
        String strDecode = new String(bytesDecode);
       
        return strDecode;
    }
- Mình test tại hàm tại hàm main khi cho chuỗi cố định thì rất OK
- Vấn đề xảy ra khi insert vào database rồi (dữ liệu đã encode rồi) , mà lúc lấy dữ liệu ra(đã decode rồi) bị lỗi phông như sau ạ :
Vì váºy, các phÆ°Æ¡ng tiện phục vụ mặt đất đang trong khu vá»±c nà y tạm thời ngừng khai thác, một số phÆ°Æ¡ng tiện bị chết máy tại khu vá»±c ngáºp nước chờ nước rút h

- Mình ko biết có phải do để kiểu varchar trong SQLserver ko lưu trữ được utf-8 dù đã encode rồi hay ko , ai biết chỉ dùm với ạ :(