This starts to shed some light on the subject.
The debugger reports that A, the constant (as text), contains 41 42 43 44 45 22 46 47 48 27 49 4A 4B 4C … whereas My C variable (when defined as String ) has a hex value of 41 42 43 44 45 E2 80 9D 46 47 48 E2 49 4A 4B 4C
And when B = “A”… the hex value for B is 22 … which, of course is nowhere in C String
By the way, the debugger reports that A, B and C are encoded UTF-8, but C has a byte length of 18 even though it only contains 14 characters. (the light is starting to dawn in my brain)
So how do I keep everything encoded as TEXT? Because even when I changed the constant to TEXT the debugger still reports that it is UTF-8 … I’m guessing that in my code I need to DIM A,B, and C as TEXT instead of String … right?
… and yes, when I check my keyboard system prefs I have “use smart quotes and dashes” checked. But changing that may solve the problem for ME but my program users would not know they need to change that … so I have to figure out how to solve this programmatically so it’s transparent to other program users.
I’ll try changing my DIM statements ad see if that solves it.