How do I show non-ascii characters

I have done some searching, but I still can’t make things work.

The environment is kaggle, which is perfect for reproduction.

%matplotlib inline 
import matplotlib.pyplot as plt

plt.title('测试')
plt.show()

This will dispaly empty squares.

The doc talks about this: Text properties and layout — Matplotlib 3.10.1 documentation

So I installed the chinese font by apt, got the family name, set it in rcParams. But it doesn’t work.

! apt-get install -y fonts-noto-cjk fonts-wqy-microhei
! fc-list :lang=zh family

from matplotlib import rcParams
rcParams['font.family']=['Noto Sans CJK SC', 'WenQuanYi Micro Hei']

I found this works

from matplotlib import rcParams, font_manager

font_manager.fontManager.addfont('/usr/share/fonts/truetype/wqy/wqy-microhei.ttc')
font_manager.findfont(font_manager.FontProperties("WenQuanYi Micro Hei"), fallback_to_default=False)
rcParams['font.family']=['WenQuanYi Micro Hei']

but this does not:

font_manager.fontManager.addfont('/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc')
font_manager.findfont(font_manager.FontProperties("Noto Sans CJK SC"), fallback_to_default=False)

① Is this a bug? How can the first work but the second fail?
② Is there a way to reload system fonts?