我正在尝试获取可能包含特殊字符和表情符号的 UITextField 的内容,并将其转换为可以在 GET 请求中传递给 PHP 服务的内容。
如果我根本不对字符串进行编码,表情符号就会很好地显示出来(我可以在数据库中看到它们并且它们会正确地返回给我)......但是如果我添加特殊字符(~!@#$% 等.) GET 请求阻塞。
所以我通过 url 编码器运行字符串:
[commentText stringByAddingPercentEscapesUsingEncoding:NSNonLossyASCIIStringEncoding];
我正在使用 NSNonLossyASCIIStringEncoding 来正确获取表情符号,这可以正常工作,但是使用它进行编码会返回一个 nil 字符串。事实上,唯一不返回 nil 的编码是 UTF8,但它会使用百分比转义符来处理 emoji unicode。
我该怎么做呢?我是否必须为这种情况编写自己的字符串替换,或者是否有一种我没有看到的 iOS 方法来做到这一点?
干杯,
克里斯