小编smi*_*arm的帖子

如何在Erlang shell中输出UTF-8?

请考虑以下代码段:

Eshell V5.9.1  (abort with ^G)
1> A="Pamet".
"Pamet"
2> A1="Pam??".
[80,97,109,283,357]
Run Code Online (Sandbox Code Playgroud)

("Paměť"是捷克语中的"记忆".我之所以选择它,是因为它包含了Erlang认为"不可打印"的两个字符.)IIRC Erlang,起源于瑞典,假设如果拉丁语中不存在一个字符1 ,它是不可打印的.因此,即使我在一个现代的Linux机器上运行shell,其中一切都是UTF-8,它输出一个整数列表而不是"Paměť".

我的问题:如何将UTF-8字符串写入屏幕,使其显示为字符串,而不是整数列表?

erlang

5
推荐指数
1
解决办法
2393
查看次数

PostgreSQL tsrange:对于lower_inf('( - infinity,today)':: tsrange)来说,它是否正确?

在编写一个接受来自用户的tsrange文字的程序的过程中,然后将其插入到各种SQL查询中,今天我正在测试一些tsrange,看看它们是如何被PostgreSQL 9.3.5解释的.

特别是这个行为奇怪:'( - 无限,今天)':: tsrange

lower_inf函数表示下限不是无限的(!)

test=> SELECT lower_inf('(-infinity,today)'::tsrange);
 lower_inf
-----------
 f
(1 row)
Run Code Online (Sandbox Code Playgroud)

然而PostgreSQL报告说这个tsrange包含一个时间戳,如'1000-01-01 BC'...

test=> SELECT '(-infinity,today)'::tsrange @> '1000-01-01 BC'::timestamp;
 ?column? 
----------
 t
(1 row)
Run Code Online (Sandbox Code Playgroud)

任何人都可以阐明这一点吗?

postgresql infinity range-types postgresql-9.3

4
推荐指数
1
解决办法
923
查看次数