anchor.diff:  
   #if defined(_WIN32)
   #include <stddef.h>
  +#endif
  +
  +#ifdef HAVE_RUBY_ENCODING_H
  +#include <ruby/encoding.h>
  +#define ENCODED_STR_NEW(ptr, len) \
  +    rb_enc_str_new(ptr, len, rb_utf8_encoding()); \
  +
  +#else
  +
  +#define ENCODED_STR_NEW(ptr, len) \
  +    rb_str_new(ptr, len); \
  +
   #endif
   
   #ifndef RSTRING_PTR
  
positive.code:            const char * at, size_t length, 
             int line)
  {
    VALUE val = rb_str_new(at, length);
    rb_funcall(listener, rb_intern(attr_type), 2, val, INT2FIX(line));
  }
  
  
negative.code: 
    action store_cell_content {
      VALUE con = Qnil;
      con = ENCODED_STR_NEW(PTR_TO(content_start), LEN(content_start, p));
      rb_funcall(con, rb_intern("strip!"), 0);
  
      rb_ary_push(current_row, con);
  