我写过jsp,如果提交的表单中含有中文,我都这样做:
string s = new String(request.getParameter("paraName").getByte("iso8859-1");
这样系统就能识别字符串的编码了
string s = new String(request.getParameter("paraName").getByte("iso8859-1");
这样系统就能识别字符串的编码了
解决方案 »
- iframe中的页面如何向父页面传值?
- 读取jar包中的XML出问题
- DOM中,怎么在TextNode里面插入Element?
- Calendar.getInstance().getTimeInMillis()和System.currentTimeMillis()是否有区别?
- 求救:关于JAVA中使用SHELL的问题!(附代码)
- java的事件解决?在线等?
- 请问大家在一个同步代码中的异常问题
- 关于ThreadPoolExecutor 策略使用的问题
- 随机取数的问题
- 请问如何解决jbuilder4.0中的could not create JVM问题?
- 问问大家那个Character.Subset到底是干嘛的啊~~?
- 我想买优惠的JAVA认证券,今年什么时候可以买到?
写了一个程序,中文显示乱码
但后来换了个jdk就好了
我不敢肯定是哪里的问题
怪怪的
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">然后最好把字符串变成iso编码的。
string s = new String(request.getParameter("paraName").getByte("iso8859-1");
就这样。
我不是写jsp,是写java app我这样写对不对?
try
{
String str=new String("Hello World,你好".getBytes("iso8859-1"));
g.drawString(str,200,100);
}
catch(Exception e)
{
e.printStackTrace();
}系统提示:
java/io/UnsupportedEncodingException
java/lang/String.checkEncoding([BLjava/lang/String;)[B:54
java/lang/String.getBytes(Ljava/lang/String;)[B:6
HelloWorld.start()V:77
com/nds/core/CoreMain.main([Ljava/lang/String;)V:112
所以是在他们的软件平台上
先前版本的平台都没有问题
可以直接打印出中文的
现在换了新版本,不知道怎么回事了
就是乱码
代码是比较简单的:
import java.awt.*;
import com.nds.core.CoreApp;
public class HelloWorld extends CoreApp
{
Rectangle r=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
Graphics g=getOnScreenGraphicsArea(r.x,r.y,r.width,r.height);
Font f=new Font("Star",Font.PLAIN,30); public void start()
{
g.setFont(f);
g.setColor(Color.blue);
g.fillRect(r.x,r.y,r.width,r.height);
g.setColor(Color.yellow);
try
{
// String str=new String("Hello World".getBytes("iso8859-1"));
//本来是可以直接g.drawString("你好")的,但现在不可以了
g.drawString(str,200,100);
}
catch(Exception e)
{
e.printStackTrace();
} } public void stop()
{
} public boolean keyDown(java.awt.Event ev,int keycode)
{
System.exit(0);
return true;
}
}
就是编码问题。
因为在Java内都是Unicode编码,到了“地方平台”,就会进行转换,转换的原则就是根据地方平台的配置,
如果您出现了乱码,一定是地方编码配置产生了差异。
所以,您自己具体查查吧。
:)