Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有合适的解决方案来获取和保存印地语字符,并将这些字符显示到jsp页面?_Java_Spring_Jsp_Utf 8 - Fatal编程技术网

Java 是否有合适的解决方案来获取和保存印地语字符,并将这些字符显示到jsp页面?

Java 是否有合适的解决方案来获取和保存印地语字符,并将这些字符显示到jsp页面?,java,spring,jsp,utf-8,Java,Spring,Jsp,Utf 8,我的操作是将印地语字符保存在db中,并在另一个地方获取相同的字符。 首先,我试着这样做:- byte[] ob=null; String obj=""; String original11=new String("".getBytes(),Charset.forName("UTF-8")); original11 = "गुणवत्ता"; try { System.out.println(original11); S

我的操作是将印地语字符保存在db中,并在另一个地方获取相同的字符。 首先,我试着这样做:-

byte[] ob=null;
    String obj="";

    String original11=new String("".getBytes(),Charset.forName("UTF-8"));  
     original11 = "गुणवत्ता"; 
    try {


        System.out.println(original11);
        System.out.println(new String(original11.getBytes()));




              System.out.println(new String(original11.getBytes("windows-1252"), "UTF-8"));

        System.out.println(new String(original11.getBytes(),Charset.forName("UTF-8")));

    byte[] bytearr = original11.getBytes("UTF-8");

     obj = new String(bytearr,Charset.defaultCharset());




    System.out.println("obj "+obj);

    ob=Base64.getEncoder().encode(bytearr);

    String encStr = new String(ob);


    System.out.println(encStr);


    }
    catch(Exception e) {
        e.printStackTrace();
    }
当我试图正常设置时(不与数据库连接),在第一个出口我会得到问号(?????)。 在第二个sout中,我得到了相同的结果,getBytes()返回[63,63,63,63,63,63,63,63]

  • String/Reader/Writer
    保留Unicode文本,因此所有脚本都是可能的
  • byte[]/InputStream/OutputStream
    用于二进制数据。如果实际上是文本,则需要知道它们的字符集/编码
    UTF_8
    是Unicode字符集之一,允许以字节为单位的国际文本。此字符集用于将字节转换为字符串或从字符串转换为字节

  • 硬编码字符串必须使用与编辑器相同的字符集进行编译。假设编辑器的字符集可以表示字符串。要检查是否可以将其与u转义字符进行比较:
    “\uxxx\uxxx”

  • 避免使用默认平台字符集(不可移植)的
    新字符串(字节)
    字符串.getBytes()

    String s = new String(bytes, StandardCharsets.UTF_8);
    byte[] bytes = s.getBytes(StandardCharsets.UTF_8);
    
人们应该忘记其他形式,永远不要
新字符串(s.getBytes…

  • 数据库表和表列应支持Unicode。见所罗门·鲁茨基。请注意,使用UCS-2(几乎是UTF-16)使用NVARCHAR可能需要两个NVARCHAR来表示一个Unicode符号。保留足够大的长度

  • JSP可以指示它们的页面编码。表单可以用accept字符集表示接受UTF-8
    URLEncoder
    可以将UTF-8中的参数编码为%..%