- 浏览: 37671 次
- 来自: 深圳
文章分类
最新评论
-
ZacMa:
哈哈,突然感觉里面没怎么介绍,全是贴代码了
<8>redis及erl-redis阅读 -
惊涛翻案:
马博士,给我开课吧
<8>redis及erl-redis阅读
用mochiweb通过网页发送中文到服务器,结果服务器显示乱码,无论打印,还是存储日志,还是再次解析出来发往客户端均是乱码,网上搜索后发现了一些问题所在:编码不一致
erlang 字符编码的文章有很多,erlang默认是用latin1,不支持中文,
如果要支持中文,需要用其他编码,unicode常用, utf8是unicode中最常用的.
eshell也要是unicode编码才可以。否则不支持中文,当然如果用linux终端,例如我用的是centos,shell用的是xshell,xshell本身的编码也要设置正确; 如果eshell设置的是latin1中文都无法输入; 见图片
这样eshell才可以正常接收和显示中文;
编码转化为unicode,使用的时候要用ts格式才可以正常显示为中文,例如io:format等;
关于ts
The Erlang compiler will interpret the code as ISO-8859-1 encoded text, which limits you to Latin characters."translation modifier" when working with Unicode texts. The modifier is "t". When applied to the "s" control character in a formatting string, it accepts all Unicode codepoints and expect binaries to be in UTF-8.
看这个例子例如
打开utf8保存的文件
文件内容如下test.file:
[
{desc, "这是一个测试文件"},
{author, "litaocheng"}
].
其格式为erlang term,保存时选择utf8编码。
代码如下:
Erlang代码 %% read content from the file
test1() ->
{ok, [Terms]} = file:consult("test.txt"),
Desc = proplists:get_value(desc, Terms),
_Author = proplists:get_value(author, Terms),
% out put the Desc and Author
DescUniBin = iolist_to_binary(Desc),
DescUniList = unicode:characters_to_list(DescUniBin),
io:format("desc bin : ~ts~ndesc bin : ~p~n",[DescUniBin, DescUniBin]),
io:format("desc list: ~ts~ndesc list: ~p~n", [DescUniList, DescUniList]).
这样就可以显示中文,
1. http://erlangdisplay.iteye.com/blog/364389
2. http://www.cnblogs.com/me-sa/archive/2012/05/31/erlang-unicode.html
erlang 字符编码的文章有很多,erlang默认是用latin1,不支持中文,
如果要支持中文,需要用其他编码,unicode常用, utf8是unicode中最常用的.
eshell也要是unicode编码才可以。否则不支持中文,当然如果用linux终端,例如我用的是centos,shell用的是xshell,xshell本身的编码也要设置正确; 如果eshell设置的是latin1中文都无法输入; 见图片
这样eshell才可以正常接收和显示中文;
编码转化为unicode,使用的时候要用ts格式才可以正常显示为中文,例如io:format等;
关于ts
The Erlang compiler will interpret the code as ISO-8859-1 encoded text, which limits you to Latin characters."translation modifier" when working with Unicode texts. The modifier is "t". When applied to the "s" control character in a formatting string, it accepts all Unicode codepoints and expect binaries to be in UTF-8.
看这个例子例如
打开utf8保存的文件
文件内容如下test.file:
[
{desc, "这是一个测试文件"},
{author, "litaocheng"}
].
其格式为erlang term,保存时选择utf8编码。
代码如下:
Erlang代码 %% read content from the file
test1() ->
{ok, [Terms]} = file:consult("test.txt"),
Desc = proplists:get_value(desc, Terms),
_Author = proplists:get_value(author, Terms),
% out put the Desc and Author
DescUniBin = iolist_to_binary(Desc),
DescUniList = unicode:characters_to_list(DescUniBin),
io:format("desc bin : ~ts~ndesc bin : ~p~n",[DescUniBin, DescUniBin]),
io:format("desc list: ~ts~ndesc list: ~p~n", [DescUniList, DescUniList]).
这样就可以显示中文,
1. http://erlangdisplay.iteye.com/blog/364389
2. http://www.cnblogs.com/me-sa/archive/2012/05/31/erlang-unicode.html
发表评论
-
erlang版本安装相关问题 <32>
2014-05-10 15:54 585<1> erlang R1603安装后,crytp ... -
关于iolist<30>
2014-01-15 10:42 591iolist是比较常用的数据结构. iolist的 ... -
<27>erlang record
2013-11-19 11:19 741平时总是忘记record的某些使用方法,每次使用都要翻文档, ... -
<26>io:format io_lib:format
2013-11-14 11:07 1278使用io_lib时候要注意参数,尤其是封装json串的时候,否 ... -
<24>用error_logger间隔记录日志
2013-10-22 16:09 630执行下面的代码 test:start(). test.erl ... -
<23>erlang 数据存储
2013-10-15 22:15 1624做为后端开发者,经常 ... -
<22> erlang中的数学计算函数相关
2013-10-10 10:34 15981. 幂函数 match:pow(m,n) 表示m的n次幂 ... -
<20>erlang中的类型和函数说明
2013-09-15 11:25 940erlang是一种动态类型的语言(运行时才决定数据类型),可以 ... -
<19>erlang中的时间,日期
2013-09-06 11:21 1164时间函数涉及的数据类型: DATA TYPES datetim ... -
<18>Efficient guide 之List handling
2013-08-31 18:45 6431 Deep and flat lists lists:fl ... -
<17>Efficiency Guide之Function
2013-08-27 22:30 5491. 函数模式匹配 模式匹配,在函数头,case和receiv ... -
<16>Efficiency Guide之Common Caveats
2013-08-11 11:07 771(1) ++ 如果做一个list的反转,不要这样, naiv ... -
<15> lists模块补充
2013-08-05 20:12 805%% 对list模块经常用到的进行补充 %% 1 对所有元素进 ... -
<15> lists模块解析和补充
2013-07-24 17:57 12%% 对list模块经常用到的进行补充 %% 1 对所有元素 ... -
<12>简述erlang的几种错误
2013-04-14 23:31 11571) badarg Bad argument. The ar ... -
<11>erlang中方便使用的模块和命令(2)
2013-04-06 22:33 759(1) 进程字典到底用不用,很多人推荐使用 http:// ... -
<9>rabbitmq网络层
2013-01-31 00:20 726抽离出了网络层, 逻辑层待以后研究 https://gith ... -
<8>redis及erl-redis阅读
2013-01-16 10:14 8221 redis的功能相当的强大,里面的发布订阅pub/su ... -
<7>pg2 分析
2012-12-08 13:42 1229网上看到erlang的pg2模块似乎没人推荐使用,但是还是有不 ... -
<6>error_logger 使用
2012-12-02 16:24 1429erlang中日志管理主要有error_loggger 模块, ...
相关推荐
< Sextet>>) -> [ todigit ( Sextet )| encode ( Rest )]; 在上面的代码段中,一组六位从较大的二进制数据块中分离出来。 即使Rest部分不能被8整除,这也可以工作。 todigit只是将每个六位的可能映射映射到相应的...
Erlang 编码风格指南理论易于维护的代码应该: 看起来它是由单个实体编写的遵循社区最佳实践和习惯用法适合测试、指标收集和其他审查/验证使查找处理系统特定问题的代码变得容易我们为其他开发人员编写代码,而不是...
Erlang编码标准和准则 建议的阅读材料: : 目录: 荣耀干 按功能对子目录中的模块进行分组 头文件 句法 不要写意粉代码 避免动态通话 避免深层嵌套 避免如果表达式 避免嵌套尝试... 命名 命名时要保持一致 显式...
Base58 表示法使用的表示法几乎没有歧义字符,这使得人类更容易验证 Base58 字符串是否正确。 用法 下面的例子演示了这个模块的用法: 1 > base58 : integer_to_base58 ( 16#00010966776006953D5567439E5E39F86A0...
学习 Erlang:编码教程 有人可以解释一下 Erlang 中 Pid 的结构吗? 并发编程 错误和过程 列表 Erlang 的重大变化 流程 “绿色线程”和 Erlang 的进程有什么区别? 特别是关于 Erlang/OTP 和多核性能 通信顺序过程...
purestyle个人主页用于跟踪播放列表的网络应用。 这些播放列表可以包含来自不同来源(YouTube,spotify等)... 查看转换: file -i (linux) file -I (macos) 变更转换: iconv -f utf-8 -t iso-8859-1 < file> file.new
描述 erlidna库为实现的提供了一个简单的接口。... 您使用 erlidna:encode/1 使用转录将国际化域名编码为 ASCII 字符串,使用 erlidna:decode/1 解码回 UTF-8。 二郎版本 erlidna应用程序需要 Erlang R14B 或更高版本。
Erlpack是适用于Python和JavaScript的Erlang术语格式(版本131)的快速编码器和解码器。 JavaScript 可以打包的东西: 空值 布尔值 弦乐 原子 Unicode字符串 浮点数 整数 多头 超过64位 对象 数组 元组 ...
ErlEditor是专门为国人设计的一流Erlang编程环境,它身躯小巧,性能卓越,可自定义功能完善,支持丰富的主题和脚本,同时它还完美支持各种中文编码、大字符集字符的显示,万码无忧!无论您是策划还是程序员,...
提供一个简单JavaScript库,用于使用对消息进行编码和解码。 这深受影响,它是 Erlang 的 protobuf 生成器。 解码 传入消息应为二进制字符串。 就 JavaScript 字符串而言,我的意思是charCodeAt可访问的每个字符都...
自动检测打开的文件编码,也可以转换当前文件编码 简单的工具栏,你可以快速做一个新文件,打开,保存,另存为,撤消/重做,以及一些常用的符号,回到上次编辑位置等。 最近打开的文件历史列表 定期搜索、替换或...
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。 例1.1 如何在LINGO中求解如下的LP问题: 在模型窗口中输入如下代码: min=2*x1+3*...