Số ký tự tăng lên, nhìn không thấy bằng mắt thường

Liên hệ QC

Tình nghĩa giang hồ

Thanh sơn bất cải, lục thủy trường lưu
Tham gia
29/9/20
Bài viết
311
Được thích
417
Chào anh chị, em có một vấn đề này, xuất hiện lâu rồi. Nhưng chưa tìm ra được nguyên nhân triệt để.
TênVấn đềĐộ dài ký tự
Lưới nhôm MH 700GT (VT10)Tên mã lấy từ phần mềm
26​
Lưới nhôm MH 700GT (VT10)Tên mã gõ tay lại
25​
Những cái tên được kết xuất bằng phần mềm, không biết vì một ký do gì mà số ký tự nó tăng lên. Nhìn bằng mắt thường kiểu gì cũng không ra. (Em có gửi file đính kèm, hình ảnh)
Hậu quả: là dữ liệu có tên đó nhưng lọc sẽ không ra. VD: lọc *lưới* thì nó không có ra, dẫn đến sale không thấy thông tin, hàng thì còn tồn kho, mà kiếm không thấy........nên vẫn không bán, lúc tìm thấy mã, thì đã mất đơn hàng.
Em gõ tay lại nhập lại phần mềm thì được.
Nhưng em không biết nguyên nhân là gì, cách khắc phục ra sau đối với dữ liệu loại này.
Kho em thì có hàng ngàn mã, lâu lâu hay có những mã kiểu này, nhìn mắt thường thì thấy có mã, nhưng khi lọc dữ liệu khì không ra. Khi gặp trường hợp này phải nhờ sale báo mới phát hiện.
(Em phán đoán là do dữ liệu lúc nhập vào phần mềm copy từ outlook hoặc người không chính thống hay bị lỗi này)
Nhưng không biết cách tìm ra mã bị lỗi, và tên từ khóa lỗi này là gì, hoặc cách khắc phục triệt để hiện tượng này.
Nhờ anh chị hỗ trợ giúp em. Cảm ơn anh chị.
 

File đính kèm

  • đếm ký tự.jpg
    đếm ký tự.jpg
    68.9 KB · Đọc: 7
  • Đếm ký tự.xlsx
    8.9 KB · Đọc: 6
Unicode tổ hợp: ký tự ớ ở B2 có độ dài là 2
Unicode dựng sẵn: ký tự ớ ở B3 có độ dài là 1

Cách 1: Trước khi làm thì chuyển hết về Unicode dựng sẵn. Dùng Unikey Toolkit, ở đây có cả ngàn bài nói rồi.

Cách 2: Dùng bí kíp gia truyền của mình, đó là so sánh trực tiếp chuỗi: =B2=B3 (Trả về True). Có ít nhất 2 chủ đề gần đây áp dụng bí kíp gia truyền này ngon lành rồi.
 
Unicode tổ hợp: ký tự ớ có độ dài là 2
Unicode dựng sẵn: ký tự ớ có đọ dài là 1

Cách 1: Trước khi làm thì chuyển hết về Unicode dựng sẵn. Dùng Unikey Toolkit, ở đây có cả ngàn bài nói rồi.

Cách 2: Dùng bí kíp gia truyền của mình, đó là so sánh trực tiếp chuỗi: =B2=B3 (Trả về True). Có ít nhất chủ đề áp dụng bí kíp gia truyền này ngon lành rồi.
Dạ, để em kiểm tra lại bằng cách này, cảm ơn anh Befaint.
 
Chào anh chị, em có một vấn đề này, xuất hiện lâu rồi. Nhưng chưa tìm ra được nguyên nhân triệt để.
TênVấn đềĐộ dài ký tự
Lưới nhôm MH 700GT (VT10)Tên mã lấy từ phần mềm
26​
Lưới nhôm MH 700GT (VT10)Tên mã gõ tay lại
25​
Những cái tên được kết xuất bằng phần mềm, không biết vì một ký do gì mà số ký tự nó tăng lên. Nhìn bằng mắt thường kiểu gì cũng không ra. (Em có gửi file đính kèm, hình ảnh)
Hậu quả: là dữ liệu có tên đó nhưng lọc sẽ không ra. VD: lọc *lưới* thì nó không có ra, dẫn đến sale không thấy thông tin, hàng thì còn tồn kho, mà kiếm không thấy........nên vẫn không bán, lúc tìm thấy mã, thì đã mất đơn hàng.
Em gõ tay lại nhập lại phần mềm thì được.
Nhưng em không biết nguyên nhân là gì, cách khắc phục ra sau đối với dữ liệu loại này.
Kho em thì có hàng ngàn mã, lâu lâu hay có những mã kiểu này, nhìn mắt thường thì thấy có mã, nhưng khi lọc dữ liệu khì không ra. Khi gặp trường hợp này phải nhờ sale báo mới phát hiện.
(Em phán đoán là do dữ liệu lúc nhập vào phần mềm copy từ outlook hoặc người không chính thống hay bị lỗi này)
Nhưng không biết cách tìm ra mã bị lỗi, và tên từ khóa lỗi này là gì, hoặc cách khắc phục triệt để hiện tượng này.
Nhờ anh chị hỗ trợ giúp em. Cảm ơn anh chị.
Nếu bạn dùng Unikey:
(1) Bạn chọn bảng mã là Unicode. Gõ chữ "ớ"
(2) Chuyển bảng mã sang Unicode tổ hợp. Cũng gõ chứ "ớ"
Dùng công thức Len đếm độ dài mỗi trường hợp rồi nghiệm
Trường hợp (1) là ký tự có sẵn thành chữ "ớ" luôn
Còn trường hợp 2 là ghép 2 ký tự thành chữ "ớ"
Tôi không có chuyên môn trong giải thích mấy cái này, bác @batman1 rành ấy. Nhưng hiểu nôm na là vậy!
 
Có gì đâu. Các bạn làm việc nhiều với các chữ (bảng mã) khác sẽ quen thôi.
Ví dụ điển hình mấy loại chữ Hàn, Tàu, Nhật, Thái.... đó.
Trong này cũng có vài bài hỏi xử lý mấy chữ đó rồi đó, chữ đó không thường là cứ mỗi ký tự có độ dài là 1.
Khi làm việc với mấy loại chữ đó phải xác định được encoding là gì thì xử lý mới chuẩn. Các code xử lý liên quan tới đọc/ xuất tập tin Text trong này chỉ áp dụng được với unicode thôi, gặp mấy loại chữ ví dụ kia thì sai bét nhè.
 
Mở Unikey chọn bảng mã unicode (tổ hợp) rồi gõ vào A1 = ớ
Chọn bảng mã unicode (có nghĩa là unicode dựng sẵn) và gõ vào A2 = ớ

Nhìn A1 và A2 như nhau.
Nhập vào A4 công thức như trong hình rồi copy sang tới C4 rồi cop xuống dưới tới dòng 5.

dungsantohop.png

Rõ ràng ta thấy A1 gồm 2 ký tự có code là 01A1 (hex) và 0301 (hex). A2 chỉ là 1 ký tự có code là 1EDB.

Nếu copy A1:A2 và dán vào notepad rồi lưu ở dạng unicode UTF-16 LE (Little Endian) rồi mở bằng Hex Editor thì nhìn thấy như trong hình.
Rõ ràng ớ ở A1 gồn 2 ký tự có code là 01A1 (ở dạng LE thì low-order byte A1 sẽ được ghi trước high-order byte 01) và 0301 (ở dạng LE thì low-order byte 01 sẽ được ghi trước high-order byte 03).

Trong bảng mã unicode 01A1 là điểm mã của ký tự có tên là Latin Small Letter O with Horn - chữ ơ của Việt Nam.

chu o.png

Trong bảng mã unicode 0301 là điểm mã của ký tự có tên là Combining Acute Accent - dấu sắc của Việt Nam.


dau sac.png

Tại sao có vòng tròn chấm chấm, ý nghĩa là gì? Nó cho thấy là ký tự Combining Acute Accent thường không được dùng độc lập mà nó đi kèm với một ký tự khác - ký tự chính. Có vòng tròn chấm chấm thì thấy ngay là ký tự Combining Acute Accent được định vị ở trên ký tự độc lập - được biểu diễn bằng vòng tròn chấm chấm.

Vd. khi biểu diễn ký tự dấu nặng của Việt Nam thì dấu nặng sẽ được hiển thị ở dưới ký tự chính - vòng tròn chấm chấm.

Khi văn bản được hiển thị thì ký tự "phụ" sẽ được ghép với ký tự chính - ký tự "phụ" sẽ được định vị so với ký tự chính theo đúng "cấu trúc" như hiển thị ở trên. Tức dấu sắc được ghép với ký tự ơ và được định vị ở trên ký tự ơ để có ký tự unicode TỔ HỢP ớ.

Ngoài Unikey có thể tìm thấy nhiều code chuyển định dạng. Phần lớn, nếu không là tất cả, chỉ dùng cho tiếng Việt. Mình là người Việt nên viết code để xử lý tiếng Việt thôi, chả ai cho miễn phí mà lại cung cấp công cụ xử lý cả tiếng Nhật, Hàn, Trung, Nga, Ả Rập, Lào, Thái ... Có mà rỗi hơi, có mà điên. Cũng có người bỏ công viết một công cụ như thế nhưng họ không cho miễn phí đâu. Đừng có mà mơ. Đã là công cụ "tởm" thì người ta tính phí nhé, không có của chùa đâu.
 
Lần chỉnh sửa cuối:
Ối dời ôi. Thế này các công ty FDI sắp rời bỏ hết Việt Nam rồi, bao nhiêu lao động thất nghiệp.
Haizzz.
 
Web KT
Back
Top Bottom