Unreadable UTF characters when they are loaded in MATLAB R2022b, but they could be readable in R2020b

45 views (last 30 days)
The table data are Chinese characters and saved in MAT-file by using MATLAB R2020b as attachment. In R2022b, MATLAB can load the table variable (db_Indicators), but the non-ASCII part of data in the table are unreadable.
Unzipped the attachment, and then running In MATLAB R2022b as following
load('database.mat','db_Indicators')
double(db_Indicators.UniNum{1})
It produces as
ans =
65533 49 46 49
In MATLAB R2020b, however,
It could be correctly displayed as
ans =
8470 49 46 49
Please help to correct the problem. Greatly thanks!

Accepted Answer

Bruno Luong
Bruno Luong on 12 Nov 2024 at 5:32
Edited: Bruno Luong on 12 Nov 2024 at 6:34
It sounds like it related to the bug fix they carried out in 2021b, see @Stefanie Schwarz answer here; This breaks the encioding/decofing compatibility before and after this release.
  1 Comment
国强 关
国强 关 on 12 Nov 2024 at 9:48
Thanks. The clues here hint of the goodness in coding behaviour. I previously drag the variable (db_Indicators) in the workspace window and drop it into the MAT-file. It seems the bad habit to make the data unreadable and being lost by loading in the updated MATLAB R2022b. If using the save command as
save('database.mat','db_Indicators','-append')
the MAT-file would be free of the messy data in later MATLAB.
Maybe, MATHWORK should give some warning of data vulnerability when users save the non-ASCII data in MAT-file by dragging & dropping.

Sign in to comment.

More Answers (0)

Categories

Find more on Text Data Preparation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!