The code block below should contain a fairly safe but limited comprehensive list.
This inclusive constraint list at a Bukkit GitHub repo seems to be the best answer I've found so far. It was mentioned in a more technical discussion in a bukkit.org form thread about trying to extend the software to print new special characters which you may find useful if the list below is too restrictive for your needs.
This file appears to be a list of all the characters that are safely supported by the special font that is used in Minecraft, as used in areas like the chat interface.
# This file NEEDS to be in UTF-8 format!
This list also indicates that, if you are copying characters, the source file should be of UTF-8 character encoding type (UTF = Unicode Transformation Format).
If you want to verify the encoding type, a web browser may be able to open a file and use a menu option (e.g View > Character Encoding). Certain text editors or command-line utilities are also available that allow verifying the character encoding of the source file.
Determining an exhaustive or selective list of supported characters
To learn every possible character that a "modern" Minecraft supports this English Google translation of a German wiki article on font data provides an excellent possible resource for determining more exhaustive ASCII and Unicode support based on font resources/assets, but you may have to keep up with changing external circumstances and versions of the software.
The German wiki article contains a history of the Java versions of Minecraft and the names and locations of supported font resources such as
unicode_page_xx.png (from 00 to ff) in Full version 1.6 ( 13w24a ) that may be used to determine what is supported either more exhaustively or selectively.
An alternative English-language wiki article on Minecraft chat was not quite as detailed.