I don't know how well this works in practice, but it's the most "correct" thing to do.
I don't know how well this works in practice, but it's the most "correct" thing to do.
You should always police your input data properly one big text field is lazy programming that leads to a big technical debt later on.
And yes that does mean handling apostrophes and all those other edge cases properly.
The blob has been tamed to 1-2 lines, and you're probably best off giving 'line 1' 'line 2' 'line 3' fields. At this point the chance of confusion is minimal, even if you can't validate very well.
I once spent the best part of a day tracking down a problem with a single bad address for a major UK directory some how some one had entered an address in Egypt in Arabic.
As soon as you don't control the whole thing end-to-end, i.e. from the user entering the data to printing it on an envelope: it won't work at all. It would require every program in the whole chain to accept this "big blob", which is simply not going to happen.