erlang 解決edoc生成中文亂碼

2021-08-30 15:02:40 字數 2016 閱讀 9382

昨天突然想edoc一下,英文順利通過。與到中文就出出問題了。首先丟擲的是])

this is better than my previous dirty hack.

2. at edoc_tags:parse_tags/5

change

case dict:fetch(name, how) of

text ->

parse_tags(ts, how, env, where, [t | ts1]);

tocase dict:fetch(name, how) of

text ->

data = unicode:characters_to_list(list_to_binary(t#tag.data)),

t2 = t#tag,

parse_tags(ts, how, env, where, [t2 | ts1]);

regards,

ngoc按照上面的操作編譯順利通過(以前是用sudo apt-get install erlang 安裝,需要remove掉重新來,花了不少時間),接下來開啟網頁,發現是亂碼。仔細比較發現edoc生成的html預設沒有 標籤。

/>我試著手工天加上後就沒有亂碼了。但不能每次都手工天加上,腦海中突然有個想法--修改原始碼重新編譯(已經晚上7點多了)。api我也沒有看(看英文有點費勁,還是要多學學英文的),直接看**。在/edoc/priv中有edoc.dtd,edoc_generatev兩個檔案,這個檔案的作用,我沒有看明白請明白的人指點。

我原本想在生成head時候插入 meta標籤,但沒有這麼簡單(模板沒有找到)。

通過函式追蹤 我總是在edoc_lib:write_file/4和edoc:read/2中徘徊。中間我沒有找到插入meta標籤的入口(可能我看的不夠仔細),最後決定在write_file寫之前,插入meta標籤。對write_file寫之前的list作了分析,用了乙個比較笨的方法:

在edoc_liber:write_file(text, dir, name, package)中把

io:put_chars(fd, text)改為,

nl.

在此感謝曾{(++)}軍的幫助

疑問:1、/edoc/priv中有edoc.dtd,edoc_generatev兩個檔案的作用。

2、插入meta期待更好的解決辦法。

erlang中的spawn函式

spawn fun pid 引數型別 fun function 引數為空的函式 返回型別 程序pid 說明 生成乙個由fun函式啟動的 引數為空的新程序,並返回程序的pid。spawn node,fun pid 引數型別 node node 節點 fun function 引數為空的函式 返回型別 ...

Erlang中的程序表示

test1 pid spawn fun receive stop void end end pid stop.test2 register tut,spawn fun receive stop void end end tut stop.pid 的生成 pid表示為,可以通過list to pid ...

Erlang中atom的實現

erlang的原子 atom 在匹配中有著重要作用,它兼顧了可讀性和執行效率。通過atom,可以實現很多靈活高效的應用。atom可以看作是給字串生成了乙個id,內部使用的是id值,必要時可以取出它的內容 字串 例如用於列印輸出。atom 的 eterm 除去 6 位的標籤之外剩下的部分,就是 ato...