LÀM THẾ NÀO GIẢI MÃ TIẾNG TRUNG QUỐC (CHINESE CHARACTER) TRONG SERVER NODEJS?



  • Hello cộng đồng Nodejs!
    Mình là Tú Nguyễn, hôm nay mình có một vấn đề về giải mã ngôn ngữ Trung Quốc (Chinese Character). Mình không nói nhiều nữa, mình vào vấn đề luôn, mong mọi người giúp thằng em này nhé!

    Mình lấy dữ liệu trên website Trung Quốc và lưu vào biến, sau đó mình lấy biến chứa dữ liệu tiếng Trung Quốc mình đưa vào module google-translate trong npm để dịch sang tiếng Việt. Nhưng mình gặp vấn đề là khi lưu dữ liệu vào biến thì server nó không hiểu tiếng Trung Quốc để dịch. Điều nhận biết dễ nhất là mình xuất biết đó ra bằng console.log(var) như hình dưới

    0_1504022672520_decode chinese character on server.JPG

    Và mình cũng sử dụng dữ liệu này đề lưu vào file txt

    fs.writeFile('output.json', JSON.stringify(json, null, 4), 'utf-8', function(err){
        console.log('File successfully written! - Check your project directory for the output.json file' + name);
    })
    

    Và code cũng không mã hóa ra được tiếng Trung Quốc. Như file 0_1504022584599_output.json

    Mong các bác giúp đỡ thằng em này, làm sao có thể dịch tiếng Trung sang tiếng Việt và lưu chúng vào file txt được

    • Thanks cả nhà!!


  • Dưới đây là file code của em.
    0_1504074524954_server.js
    Em sử dụng express, mọi người có chạy thử thì cài express vào chạy dùm em nha.

    Thanks mọi người nhiều



  • Gõ lệnh này trước khi chạy Node:

    chcp 65001
    

    thì Node.js sẽ hiện tiếng Trung bình thường.



  • Bạn dùng google translate API dịch qua tiếng việt là được



  • @Khanh-Huynh-Tran ok, thanks anh nhe!



  • @NguyenQuan trong dữ liệu không hiểu tiếng TQ nên đưa vào API Google Translate nó không dịch được bạn à.



  • Bạn đã giải mã bằng UTF-8 nhưng trang web tiếng Trung đó nó không sử dụng UTF-8, có thể là " UTF-16", "ISO-8859-15", "Vietnamese"... chẳng hạn.



  • @Phuc-Phan66 Node.js hỗ trợ các ngôn ngữ bình thường, chỉ là nó hiện ra không đúng thôi. CMD của Windows hỗ trợ tiếng gì cũng tệ, trừ tiếng Anh. Mình chạy Node.js trên Mac thì nó hiện chữ tiếng Việt và tiếng Nga được, nhưng trên Windows phải đổi terminal codepage sang 65001.



  • @Khanh-Huynh-Tran Mình không nói đến CMD nhưng nếu nó không hiện thị đúng thì do mặc định nó không hỗ trợ giải mã loại ký tự ấy. Mình chỉ nói về vấn đề bạn ấy output ra file json hay để google-translate có thể giải mã được. Thường là UTF-8 nhưng không phải cái nào cũng UTF-8.


Log in to reply