原创文章,转载请注明出处。
erlang处理utf8字符集相对比较简单,因为它是用integer的list来保存所有的string的,所以处理什么字符集都没关系。
话虽这么说,但我在使用erlang的ODBC处理中文时,着实费了不少劲。
说实话,erlang的ODBC不好用,现在也有一些直接使用数据库驱动的erlang库,但都不怎么成熟,项目里不太敢用。
还是用官方的ODBC踏实,而且换什么数据库都不用改代码,方便。
开始时我以为既然数据库utf8的,我把erlang中二进制的utf8数据写到数据库表里就可以啦。后来发现,完全不是那么回事。erlang的ODBC并不是原封不动将数据写到表里,它会根据字段的类型进行修改。
绕了好几圈,终于找到一种方法可以从表中读写中文啦。
下面就说一下我的方法。