2024-05-17 18:41:25 | 我爱编程网
你本地和LINUX的编码不一致所导致的乱码
解决如下:
1、设置request的编码 new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gbk");
将默认的iso-8859-1转为gbk 不行的话就多换几种编码
2、设置LINUX的编码
命令行敲入:vi /etc/sysconfig/i18n 修改为以下内容
#LANG="zh_CN.UTF-8"
#SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
#SYSFONT="latarcyrheb-sun16"
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
export LC_ALL="zh_CN.GB18030"
建议如上 不喜勿喷
按jhuangjiahua的方法java应用程序的乱码问题可以解决。
标题: 再提 Ubuntu/Debian 下 JAVA 中文显示
常见的字符转换方法
将Form 中 的 值 传 送 到 数 据 库 中 再 取 出 来 后 全 变 成 了“?”。Form用POST提交数据,代码中使用了语句:String st=new(request.getParameter(“name”).getBytes(“ISO8859_1”)), 而且也声明了charset=gb2312。
要处理Form中传递的中文参数,应该在JSP中加入下面的代码,另外定义一个专门解决这个问题的getStr类,然后对接收到的参数进行转换:
String keyword1=request.getParameter(“keyword1”);
keyword1=getStr(keyword1);
这样就可以解决问题了,代码如下:
<%@ page contentType=“text/html;charset=gb2312”%>
<%!
public String getStr(String str){
try{String temp_p=str;
byte[] temp_t=temp_p.getBytes(“ISO8859-1”);
String temp=new String(temp_t);
return temp;
}
catch(Exception e){ }
return “NULL”;我爱编程网
}
%>
<%--
测试--%>
<% String keyword=“创联网络技术中心欢迎您的到来”;
String keyword1=request.getParameter(“keyword1”);
keyword1=getStr(keyword1);
out.print(keyword);
out.print(keyword1);
%>
2. JDBC Driver的字符转换
目前大多数JDBC Driver采用本地编码格式来传输中文字符,例如中文字符“0x4175”会被转成“0x41”和“0x75”进行传输。因此需要对JDBC Driver返回的字符以及要发给JDBC Driver的字符进行转换。当用JDBC Driver向数据库中插入数据时,需要先将Unicode转成Native code; 当 JDBC Driver从数据库中查询数据时,则需要将Native code转换成Unicode。下面给出了这两种转换的实现:
String native2Unicode(String s) {
if (s == null || s.length() == 0) {
return null;
}
byte[] buffer = new byte[s.length()];
for (int i = 0; i s.length(); i++) { if (s.charAt(i)>= 0x100) {
c = s.charAt(i);
byte []buf = (“”+c).getBytes();
buffer[j++] = (char)buf[0];
buffer[j++] = (char)buf[1];
}
else {buffer[j++] = s.ch
Trackback:
我爱编程网(https://www.52biancheng.com)小编还为大家带来linux下可执行文件打开显示乱码怎么办的相关内容。
1、查看文件信息,可以看到文件是存在的,并且是可以执行的。-rwxr-xr-x 1 yuan yuan 20581 4月 29 2004 tshref
2、原因是系统位数与该可执行文件需要的lib库位数不匹配。用uname命令打印系统信息,发现系统是64位系统。
3、用file命令查看文件信息,发现是一个32位可执行文件。
4、要想在64位系统上与运行32位程序,则需要安装32位lib库。 对于Ubuntu用户可以使用下面的命令安装。
5、过程中有可能找不到需要的库,但是会有几个替代包,选择安装其中一个。
6、然后就可以正常运行之前的可执行文件了。遇到这种问题其实还有可能是其他原因,例如文本的编码格式问题等。
扩展资料:
主要特性
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上
参考资料来源:
百度百科-Linux
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01