gpt4 book ai didi

java - 是否有任何正确的解决方案来获取和保存印地语字符并将这些字符显示到 jsp 页面?

转载 作者:行者123 更新时间:2023-12-02 09:04:15 25 4
gpt4 key购买 nike

<小时/>

我的操作是将印地文字符保存在数据库中并在另一个地方获取相同的字符。首先我正在尝试这个:-

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();
}

当我尝试正常设置它(没有与数据库连接)时,首先我收到问号(?????????)。在第二个南我得到相同的结果,并且 getBytes() 返回 [63, 63, 63, 63, 63, 63, 63, 63]。

最佳答案

基础知识。

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

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

  • 避免使用默认平台字符集的 new String(bytes)string.getBytes(),这是不可移植的。

    String s = new String(bytes, StandardCharsets.UTF_8);
    byte[] bytes = s.getBytes(StandardCharsets.UTF_8);

人们应该忘记的其他形式,并且永远不要 new String(s.getBytes...)

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

  • JSP 可以指示它们的 pageEncoding。表单可以通过接受字符集提及 UTF-8 被接受。 URLEncoder 可以将 UTF-8 中的参数编码为 %..%..%.. .

关于java - 是否有任何正确的解决方案来获取和保存印地语字符并将这些字符显示到 jsp 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59948810/

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