I ran this command:
sudo certbot --apache -d xn--galpn-pta.eu -d www.xn--galpn-pta.eu
It produced this output:
Non-ASCII domain names not supported. To issue for an Internationalized Domain Name, use Punycode.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/tmpgl2wrlea/log or re-run Certbot with -v for more details.
My web server is (include version): Apache 2
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2024-01-17T03:00:18
The operating system my web server runs on is (include version):
Ubuntu 22.04.4 LTS
My hosting provider, if applicable, is: piensasolutions.com
I can login to a root shell on my machine (yes or no, or I don't know):
yes
I'm using a control panel to manage my site (no, or provide the name and version of the control panel):
yes
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):certbot 1.21.0
You can also test with just dropping the punycode into a browser or discord.
The quoted urls below are actually written in punycode, but translated into utf8 for display. copy/pasting the punycode into a browser will go to the utf8 encoding of the url.
Even if the punicode is not the correct one, when I copy paste OPs command to my own server (with some --staging and --webroot for testing), I'm NOT getting the error OP is getting.
So that's kinda weird. Maybe OP confused the command with the error message of a different command?
They're using certbot 1.21.0, presumably under python 3.10 (based on the ubuntu 22.04 default). There have been a lot of updates in the python ecosystem regarding character encodings since then. It would not surprise me if the difference in errors is due to a package/library version and not the command line flags themselves.