How to make the "minecraft:custom_name" argument behave

So im trying to give an item a custom name with that argument but there are 2 issues, first if theres a space in the name like in "Obsidian Sword" or whatever, it wont work, quotation marks dont work with it either (unlike in bedrock) // and then also the "custom name" just makes it look like its been renamed in an anvil with the italicized font instead of looking like the native item name. and you cant use the § as a format code or invisible space (unlike bedrock) so what gives? is there a better way to name "custom items" using "custom_model_data"

Continue to help post