Gặp vấn đề khi ghi tiếng Việt trên chương trình khác với PyAutoGui

Em đang bị lỗi chỗ ghi tiếng Việt ra word bằng python mà bị lỗi không có dấu hoặc có ký tự lạ như hình ạ.
Mấy anh chị giúp em với ạ
Em cám ơn nhiều huhu!!

Trích một đoạn từ trang document của PyAutoGUI:

The primary keyboard function is write(). This function will type the characters in the string that is passed.
You can only press single-character keys with write(), so you can’t press the Shift or F1 keys, for example.

Hiểu một cách đơn giản thì hàm write sẽ gõ từng kí tự một có trên bàn phím ở trong chuỗi truyền vào. Bàn phím tiêu chuẩn thì làm gì có phím à, á,… Để giải quyết vấn đề trên thì có 2 cách:

  1. Giả lập gõ tiếng Việt: Ngoài đời ta gõ tiếng Việt kiểu gì thì ta cũng bắt máy gõ y như thế. Chuyển chuỗi tiếng Việt sang dạng chuỗi Telex, VNI,…ví dụ: Chuyển Xin chào các bạn thành Xin chafo casc bajn nếu dùng kiểu gõ phím Telex. Vì là giả lập gõ phím giống con người nên phải bật bộ gõ tiếng Việt và chọn đúng bộ gõ như gõ văn bản ngoài đời. Anh thì chưa có test cách này bao giờ, mới nghĩ qua thôi.

  2. Copy paste: Một cách dễ hơn và đã được nhiều người kiểm chứng là có hiệu quả. Cách này không phải là gõ, mà là copy một đoạn text vào trong clipboard rồi paste ra, giống như Copy Paste vậy. Để dùng cách này thì cần cài một thư viện dùng để Copy Paste text, trên Python có thư viện (module) Pyperclip. Sau khi copy xong thì dùng tổ hợp phím (hotkeys) CtrlV (trên Windows) để paste, module PyAutoGUI có hàm hotkey để gửi tổ hợp phím.

P/s: Đối với các kí tự như à, á,…mặc định hàm write có gửi tổ hợp phím để nhập mấy kí tự trên nhưng lại không được, khả năng cao mấy kí tự kì lạ trên là từ cái này mà ra.

8 Likes

Dạ em đã hiểu rồi ạ
Anh cám ơn anh nhiều ạ

Bạn hãy đánh dấu tick cho câu trả lời hữu ích nhé :smiley:

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?