erl:xmerl_scan:string/2 对汉字的处理

问题

郎咸武 <[email protected]>
回复      [email protected]
发送至     "[email protected]" <[email protected]>,
erlang-china <[email protected]>
日期      2010年10月27日 下午4:20
主题      [erlang-china:3488] 关于xmerl_scan:string/2 方法 对汉字的处理

请问谁用用过xmerl_scan:string/2 方法,怎么能处理汉字 如下面 例子

6> xmerl_scan:string("<name>langzhe</name>",[{encoding, 'utf-8'}]).
{{xmlElement,name,name,[],
             {xmlNamespace,[],[]},
             [],1,[],
             [{xmlText,[{name,1}],1,[],"langzhe",text}],
             [],"/home/jason",undeclared},
 []}
373737> xmerl_scan:string("<name>郎哲</name>",[{encoding, 'utf-8'}]).   
3266- fatal: {error,{wfc_Legal_Character,{error,{bad_character,37070

}** exception exit: {fatal,error,{wfc_Legal_Character,{error,{bad_character,37070}},

}}}

尝试 UTF-8

环境
  • ubuntu10.04
  • Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
1> testxmerl:test().
{{xmlElement,name,name,[],
             {xmlNamespace,[],[]},
             [],1,[],
             [{xmlText,[{name,1}],1,[],[37070,21746],text}],
------- 这个地方转换成 list 不是我想要的结果 ,我想要的结果还应该是“郎哲”
             [],"/home/jason/learn",undeclared},
 []}
2> testxmerl:test("郎哲").
3266- fatal: {error
,{wfc_Legal_Character,{error,{bad_character,37070

}** exception exit: {fatal,

}}}

----源测试代码---------------

#erlang
-module(testxmerl).
-export([test/0,test/1]).

test()->
 Str1 ="郎哲",
 xmerl_scan:string("<name>"++Str1++"</name>",[{encoding, 'utf-8'}]).

test(Str)->
 xmerl_scan:string("<name>"++Str++"</name>",[{encoding, 'utf-8'}]).


反馈

创建 by -- ZoomQuiet [2010-11-06 08:08:10]