A fresh WSL install shows every Chinese character as an empty box. My host system is English Windows, which is probably why: WSL has neither a Chinese locale nor a font capable of rendering the characters. Adding both fixes it.
1. Install the Chinese language pack
sudo apt install language-pack-zh-hans
2. Reconfigure locales
sudo dpkg-reconfigure locales
In the list that appears, select both en_US.UTF-8 and zh_CN.UTF-8, then pick zh_CN.UTF-8 as the default on the next screen.
The list is keyboard-driven: space to toggle, arrow keys to move, Enter to confirm. Clicking does nothing.
3. Install the font management tool
sudo apt install fontconfig
4. Borrow the fonts from Windows
There are several ways to install fonts; copying the ones Windows already has is the least fussy. WSL exposes your C: drive at /mnt/c, so a single cp does it:
sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows
Refresh the font cache:
fc-cache -f -v
5. Restart WSL
wsl --shutdown
Run that from PowerShell, then reopen WSL. Chinese should render properly now.
Verifying
locale
You should see LANG=zh_CN.UTF-8.
fc-list :lang=zh | head
If this lists fonts, the font side is working.