Terance Brown wrote:
I am trying to retrieve a unicode string using librdf_node_to_string passing the node pointer into the function.

However, I am getting back a messed up string:

Expected return:   [!+'#[]Ü¥ƒ&,;

What I am getting: [!+’#[]Ü¥ƒ&,;

Hard to tell what that is given the encodings of email systems and
transcoding.  It should be UTF-8 out because that's what redland uses
for everything; it doesn't change encodings in either direction.

Also if you are not calling this from C (you don't say), there may
be another layer of software (SWIG + the script language)

Can anybody help? Does librdf_node_to_string handle Unicode? I know the source where I am retrieving the string is good.

That function really mostly for debugging since it adds punctuation
like '[' and ']' around URIs.

More likely you'll use
http://librdf.org/docs/api/redland-node.html#librdf-node-get-literal-value-as-counted-string
for example, when you know it's a literal
http://librdf.org/docs/api/redland-node.html#librdf-node-is-literal

i.e.
  if(librdf_node_is_literal(n)) {
    size_t len;
    string=librdf_node_get_literal_value_as_counted_string(n, &len);
    ... do something ...
  }

which is actually what librdf_node_to_string()
via librdf_node_to_counted_string() essentially does (but more efficiently)


Please provide a small code example and file a bug on bugs.librdf.org

Thanks

Dave
_______________________________________________
redland-dev mailing list
[email protected]
http://lists.librdf.org/mailman/listinfo/redland-dev

Reply via email to