Java 是否有合适的解决方案来获取和保存印地语字符,并将这些字符显示到jsp页面?
我的操作是将印地语字符保存在db中,并在另一个地方获取相同的字符。 首先,我试着这样做:-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
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]
保留Unicode文本,因此所有脚本都是可能的String/Reader/Writer
用于二进制数据。如果实际上是文本,则需要知道它们的字符集/编码byte[]/InputStream/OutputStream
是Unicode字符集之一,允许以字节为单位的国际文本。此字符集用于将字节转换为字符串或从字符串转换为字节UTF_8
- 硬编码字符串必须使用与编辑器相同的字符集进行编译。假设编辑器的字符集可以表示字符串。要检查是否可以将其与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
可以将UTF-8中的参数编码为%..%URLEncoder