I opened implementation of Encoding.GetEncoding() on VS and I saw a part that matches parameter value with sets. I realized that Encoding had a constant variable for ISO_8859_1 = 28591. But this is an internal const so I couldn't use Encoding.ISO_8859_1 so I just used the value:
Encoding.GetEncoding(28591)
After switching to this, I was able to read and write a file with Turkish characters.