きょうのlibxmlさん

文字コードがはじめからわかっていれば、パースする前に

       htmlParserCtxtPtr ctx = htmlCreateMemoryParserCtxt(htmlString, length);
            ctx->charset = XML_CHAR_ENCODING_UTF8;

なかんじで文字コード指定しとくと文字化けを抑制できる。
utf8で日本語に関しては問題ないけど、なぜか中国語だと問題が出た。
あと記号とか書いてあると誤判定多い。libxmlのHTMLparserが文字コード判別ちゃんとしてないんだと思う。ちゃんとするの大変だよねー、パースはじめて、途中にmetaとかはいってて、思ってたのと違ったりすると、さっきもうtitleパースしちゃったよどーするよ、みたいなことになるけど、ブラウザはどうしてるんだろう。やり直してるとかかな。