你的问题是:同一个字串有2个引用,全部用 ANSI 编码写入,则其中1处正常,另一处乱码。而全部用 UTF8 编码写入,则正好倒过来,原来正常的变乱码,乱码的变正常。这样理解对不对?
如果是非标字串,可以在空白处(0x00)增加一个 UTF8 字串 ,并修改其中一个引用到新增的字串,而原来的字串仍然用 ANSI 写入。
这个方法,手动操作非常麻烦,可以用 Passolo 非标宏 或 Radialix 3 来处理。
非标宏的话,请在写入前按引用地址拆分成 2 个子字串,并分别定义不同的编码。
Radialix 3 也可以这样做。