gpt4 book ai didi

encoding - 使用 EncodeForHTML 时的 Coldfusion/Lucee 编码问题

转载 作者:行者123 更新时间:2023-12-05 08:38:32 25 4
gpt4 key购买 nike

对某些字符(在本例中为表情符号)使用 EncodeForHTML 时遇到问题

本例中的文本是:⌛️a😊b👍c😟💥🍉🍔💩🤦🏼‍♀️🤦🏼‍♀️🤦🏼‍♀️😘

现在如果我只是直接输出

<cfoutput>#txt#</cfoutput>

它显示正确,没有问题,但如果我先使用 EncodeForHTML

<cfoutput>#EncodeForHTML(txt)#</cfoutput>

我明白了⌛️a����b����c�� ������ �� ����‍♀️����‍♀️����‍♀️ ��

我也使用 EncodeForXML 和 esapiEncode 对其进行了测试以确保;所有人都给我相同的结果。我已经验证了 Lucee 中的编码设置是 UTF-8,meta charset 标签也设置为 UTF-8。我找不到任何关于 EncodeForHTML 的文档,说明它是否对字符编码进行了任何更改,是否需要特定的字符编码,或者它是否存在与表情符号或某些代码点有关的任何已知问题。

我感谢任何人可以提供的任何帮助或澄清。

编辑:谢谢大家。希望我能接受多个答案。

最佳答案

我需要清理表情符号,以确保第三方内容与外部服务交叉兼容。一些内容包含表情符号并导致导出/导入问题。我写了一个ColdFusion wrapper对于emoji-java用于识别、清理和转换表情符号的库。

https://github.com/JamoCA/cf-emoji-java

例如,parseToAliases()函数“用别名替换在字符串中找到的所有表情符号的 unicode”。

emojijava = new emojijava();
emojijava.parseToAliases('I like 🍕'); // I like :pizza:

要“编码”,您可以使用 parseToHtmlDecimal()parseToHtmlHexadecimal()使用前的功能 EncodeForHTML() .

emojijava = new emojijava();
test = emojijava.parseToHtmlDecimal('I like 🍕'); // I &#10084;️ &#127829;
EncodeForHTML(test);

关于encoding - 使用 EncodeForHTML 时的 Coldfusion/Lucee 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62720136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com