Microsoft Windows では、バイト文字列と Unicode 文字列の変換は、ロケール依存です。つまり、255 バイト文字とワイド Unicode 文字間の変換は、システムのロケール設定に応じて処理されます。Unicode 標準では各コードに一意の文字が割り当てられますが、拡張 ASCII コードではそうではありません...
= "UTF-8" ' この3行でUTF-8へ変換がされる(.LineSeparatorはなくても良い) UTF8ByteToString = .Read(adReadAll) Call GarbageADODB End With End Function Private Function IsUpperSarrogateCharacter(s As String) ' UTF-16 LEのサロゲートペアの判定 If Hex(AscW(s)) >= Hex(&HD800) And ...