我需要编写一份使用基于拉丁语言的措辞的合同。这需要特殊字符,例如é, ç, ã, ô
etc....
我正在使用安全帽来编写它。
我在这里找到了一个例子,也使用了开放的 Zeppelin:
当试图在我的合同中写类似的东西时,我得到一个错误:Invalid character in string.
contract Ouro is ERC20, Ownable {
string public constant tokenMinuta = "Céu, Carraço"; // "Céu, Carraço" is the Problem to solve here
constructor() ERC20("Ouro", "ORO") {
_mint(msg.sender, 1000000000 * 10**decimals());
}
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
}
然后,我将 UTF-8 编码添加到这些字符中,希望能够在 BSCScan 或 EtherScan 上正确编译:
IEstring public constant tokenMinuta = "C\xC3\xA9u, Carra\xC3\xA7o";
但是,当我将源代码添加到 BSCScan 或 EtherScan 时,它不起作用。
看看我在哪里添加了 UTF-8 - 我希望这将以人类可读的方式编译,而不是像这样:
我的问题是:如何在合同正文中写入这些特殊字符而不会出现编译错误,从而能够在 BSCSan 或 EtherScan上以人类可读的方式验证与这些字符的合同?就像我上面提供的第一个示例一样工作。