Prolog GNU序言:奇怪的角色

Prolog GNU序言:奇怪的角色,prolog,Prolog,我不熟悉使用GNU Prolog 鉴于以下事实: theme(cafe). role(manager). role(boss). role(coworker). numberOfCharacters(theme(cafe), 3). charactersRole(numberCharacters(theme(cafe), 3), role('boss'), role('manager'), role('çoworker')). 当我询问: charactersRole(numberCharac

我不熟悉使用GNU Prolog

鉴于以下事实:

theme(cafe).
role(manager).
role(boss).
role(coworker).
numberOfCharacters(theme(cafe), 3).
charactersRole(numberCharacters(theme(cafe), 3), role('boss'), role('manager'), role('çoworker')).
当我询问:

charactersRole(numberCharacters(theme('cafe'), 3), role(X), role(Y), role(Z)).
它正确返回一些值,而一个值包含ç以代替正常字符“c”

X = boss
Y = manager
Z = 'çoworker' 
谢谢!:)

这里有cedilla,它被两个字符误传,通常是因为不知道unicode。这不是序言问题

ç是Unicode中的
U+00C3 U+00A7

何塞斯

U+00E7 LATIN SMALL LETTER C WITH CEDILLA
UTF-8: 0xC3 0xA7

这就是将UTF-8 2字节字符输出到不支持UTF8的LATIN1终端所得到的结果。

是否有其他方法来实际显示“c”?@MichaelJoshuaRamos如果你想要真正的“ç”-
iconv-f UTF-8-t LATIN1 file.UTF>file.lat
basically@MichaelJoshuaRamos或者用cedilla替换c,用a替换常规c,因为我认为这是你需要的。你可能只是按错了键盘上的按钮,只需重新键入最后一行中的“同事”。非常感谢。事实是这个角色(“同事”)。另一个事实是角色('çoworker'),我不小心输入了çoworker.:)。这很有效,谢谢。不需要在“咖啡馆”和其他名字周围加引号。
U+00E7 LATIN SMALL LETTER C WITH CEDILLA
UTF-8: 0xC3 0xA7