It seems to be a reoccurring theme with Tkinter and there is no direct way of fixing. I would recommend writing a function to decode/encode the emojis with a table, array or list of all the emojis on the site.
Hit a Problem - Help Appreciated

A few thoughts but not convinced it offers a solution for you.
I looked at the URL in Firefox which has a automatic decoder for JSON and displays the UTF's correctly.
In my Excel VBA I trap out and convert UTF chars and it correctly interprets the emojis including the ones in your example
As I said none of that helps with the lack in your version of python.
Only suggestion I have is error trap for any UTF chars it doesn't recognize and delete the partial string. i.e. if python can't convert \ud83c\udf0f correctly remove it.
It's not a solution and you end up with an incomplete name.
I did find this which suggests python 3.8 is OK

Thanks guys, that all helps.
But I've just realised it's purely a problem of displaying non-supported characters in the Python console (everything else works fine) and for the time being I'm using a work-around of displaying the names of the teams in the match pairing (as opposed to the downloaded match name), which is as much information as I need on screen.
The output I create in HTML form is working as usual and pasting into my club's forum on the site is also fine (both Chrome and the site software clearly support this particular emoji).
I think that's the best fix for now. This is only going to be a nuisance if a club wants to enter one of the leagues I help run with an unsupported character(s) in the club name. I'll pick that problem up long before the tournament starts but I think Tricky_Dicky's suggestion of error trapping it is the best answer, or more simply still, omitting the problem characters from the club name when I enter it in my input file.

....
I did find this which suggests python 3.8 is OK
Now that is helpful - I'm running vers. 3.7.2, so it might be time for me to bring it up to date.
I'll take a look at that stackoverflow article - that's a really useful resource! 😊

The only snag with updating the version is that it seems to have to be done as a new download, into a separate folder. This means any non-built-in modules are lost until they're downloaded and installed again.
That's not a huge inconvenience but is there any way of bringing Python up to date but with any modules previously installed being retained?
Unlike other apps, there doesn't seem to be any way of enabling automatic updates.

Stephen,
You should have a program called pip or pip3 with python. You might try 'pip freeze > requirements.txt' to get a list of the installed modules from your old install.
Then in your new install, use 'pip install -r requirements.txt'.
That will get you all the same packages from your older install, regardless of whether they are actually used in the project. If you only want the packages that are used, check out pipreqs

Thanks, that's useful but what I had in mind was finding a way of downloading the newest version of Python without having to reinstall whatever packages I've been using. I don't think that's going to be possible because the new version is installed in its own folder and packages are placed in a sub-folder.
This isn't really a big problem because the only (proprietary) package I have installed is the Requests one and that installs in seconds. It takes me much longer to remember how to set the command up!
This looks like a problem with the encoding of the club's name in the following match...
https://api.chess.com/pub/match/1279387
"name":"KNOCKOUT S31 R1: \ud83c\udf0f THUNDERSTORM WARRIORS Chess Club \ud83c\udf0f vs Astronomy"
Specifically, the data returned in json form is as follows...
KNOCKOUT S31 R1: \U0001f30f THUNDERSTORM WARRIORS Chess Club \U0001f30f vs Astronomy
So there appears to be a mismatch between the characters displayed in the endpoint in my browser and those given in json?
The additional unicode characters are causing my program to crash - Python is giving the following error...
Traceback (most recent call last):
File "C:\Users\Stephen\Documents\Computing\Python\Chess.py", line 468, in <module>
print(f'\nMatch Name: {data["name"]}')
UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 30-30: Non-BMP character not supported in Tk
It seems the 'earth_asia:' emojis are not supported in Python (my version is reasonably recent), so is there a simple way I can fix this? This is the first time I've hit this snag in several years so it's not exactly a common problem.