在Java(JSP)中将十进制NCR代码转换为UTF-8

 拍友2502914703 发布于 2023-02-07 20:19

我试图解码FARSI中的字符串到UTF-8然后我检查浏览器本身将FARSI字符串转换为十进制NCR代码

如何将十进制NCR代码转换为UTF-8?

String farMsg = "??????";
String finalMsg = new String(farMsg.getBytes(),"UTF-8");
System.out.println("\n Farsi Message \n" + finalMsg);

当我尝试使用上面的代码转换它工作正常,但如果我从JSP页面的输入框使用相同的字符串,它给我一些像这样的输出

عتباري

转换成相同内容需要做哪些修改.

编辑

我进入??????了jsp输入框并用于request.getParameter("faMSg")获取值,我在这里得到عتباري但是我应该得到??????

dbw.. 8

我创建了一个将DecimalNCR转换为的自定义函数String.

public static String ConvertDecimalNCRToString(String hex)
{
    String myString = hex.replace("&#", "");
    String[] split = myString.split(";");
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < split.length; i++) 
    {
        sb.append((char)Integer.parseInt(split[i]));
    }
    return sb.toString();
}

这会成功转换您提供的String.

编辑我用中文测试了上面的函数???,??????并且波斯语(??????????? ??? ????)字符提供了正确的结果.

1 个回答
  • 我创建了一个将DecimalNCR转换为的自定义函数String.

    public static String ConvertDecimalNCRToString(String hex)
    {
        String myString = hex.replace("&#", "");
        String[] split = myString.split(";");
        StringBuilder sb = new StringBuilder();
    
        for (int i = 0; i < split.length; i++) 
        {
            sb.append((char)Integer.parseInt(split[i]));
        }
        return sb.toString();
    }
    

    这会成功转换您提供的String.

    编辑我用中文测试了上面的函数???,??????并且波斯语(??????????? ??? ????)字符提供了正确的结果.

    2023-02-07 20:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有