救命,中文问题!!!

beming 2002-11-06 10:33:39
各位帮帮忙
怎么将utf-8字符转换成为gbk或者gb2312呢???
可以帮忙写出一些代码吗???
...全文
43 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shixiaoxiang 2002-11-21
  • 打赏
  • 举报
回复
解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=gb2312");
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}

public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}

beming 2002-11-08
  • 打赏
  • 举报
回复
我已经完美解决啦,挺复杂的,一时说不清。字符要转换三次,才成功写进文件。而读,则转换一次就ok啦。
zxhong 2002-11-07
  • 打赏
  • 举报
回复
如果写是对的
改一下文件头就可以了!
beming 2002-11-06
  • 打赏
  • 举报
回复
如果是MIME-encoded 或者Base64"-encoded 我应该怎么处理啊??!!
help!!!!!
zhaoxichao 2002-11-06
  • 打赏
  • 举报
回复
byte[] temp;
String temps=request.getParameter("pdtname");
temp=temps.getBytes("iso8859-1");
String pdtname=new String(temp);
beming 2002-11-06
  • 打赏
  • 举报
回复
请问有无其他转换函数??请一一列出来吧,我用你给的函数去转换我得到的字符,结果还是乱码,都不知道未什么~!
无爱大叔 2002-11-06
  • 打赏
  • 举报
回复
<%!
//转码U_to_GB
public String U_to_GB(String s) throws UnsupportedEncodingException
{
String str=s;
str=new String(s.getBytes("GBK"),"ISO8859_1");
return str;
}

public String GB_to_U(String s) throws UnsupportedEncodingException
{
String str=s;
str=new String(s.getBytes("ISO8859_1"),"GBK");
return str;
}

public String send(String s){
return s;
}
%>
beming 2002-11-06
  • 打赏
  • 举报
回复
就是说,我如何将一个中文字段以UTF-8写处理赋值给一个变量呢??
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
不要跟我说:
public String GB_to_U(String s) throws UnsupportedEncodingException
{
String str=s;
str=new String(s.getBytes("ISO8859_1"),"UTF-8");
return str;
}

啊。

beming 2002-11-06
  • 打赏
  • 举报
回复
问题已经解决

其实现在过程如果是这样问题解决:

先getBytes("IOS8859-1","UTF-8");
之后再转一次:getByte("ISO8859-1","GBK");
问题解决

现在还有一个问题,如果掉转来处理,我应该怎么做呢---
我想将一个GBK的中文字段以上面处理过程的相反过程写回去,应该怎么样的顺序呢??
我试过好多都写不成功(写当然成功,但重新读出来则又是乱码啦)----目的是希望写回去之后,我读出来的是正确的,
Pixelorama 功能: -在 6 种工具之间进行选择-铅笔,橡皮,填充桶,变亮/变暗,颜色选择器和矩形选择-并将它们分别映射到鼠标左键和右键。 -你是动画师吗?然后您来对地方了! Pixelorama 拥有适合自己的动画时间表和“洋葱皮”! -每个鼠标按钮的颜色,画笔大小和画笔类型不同。 -自定义画笔!从文件加载画笔或使用选择工具在项目中选择它们,它们将存储在`.pxo`文件中! -随机的自定义画笔!每次绘制时,期望看到不同的随机结果! -Pixelorama 具有多层系统!您可以添加,删除,上下移动,克隆和合并任意多个图层!您还可以重命名它们,并更改其不透明度! -导入图像并在 Pixelorama 中进行编辑。如果导入多个文件,它们将作为单独的动画帧添加。还支持导入 Spritesheets。 -将您的精美艺术品导出为“ PNG”文件。也可以将项目导出为 Spritesheets。 -以 Pixelorama 的自定义文件格式“ .pxo”保存并打开您的项目。 -撤消/重做支持! -多个主题支持!从黑暗,灰色,戈多,金色和浅色中选择一个主题! -水平和垂直镜像图! -用于模式创建的平铺模式! -分屏模式可以两次欣赏您的杰作!还有一个迷你画布预览区,可以看到它三次! -通过按 Shift 键,为铅笔,橡皮和浅色/深色工具创建直线。如果还按Control键,则可以以15的步长限制角度。 -为您的图像生成轮廓! -您可以使用鼠标滚轮进行放大和缩小,然后单击鼠标或按“ Space”键进行平移! – 键盘快捷键!我们非常确定这对于大多数人来说都是救命稻草。 -统治者和向导! -创建一个具有您选择的尺寸的新画布。 -缩放,裁剪,翻转,颜色反转和使图像去饱和! -支持英语,希腊语,德语,法语,波兰语,巴西葡萄牙语,俄语,简体中文,繁体中文和意大利语的本地化支持! 我们喜欢免费的开源程序! 这些示例包括 Godot(创建了 Pixelorama 的地方),Gimp,Inkscape,Krita,Blender 等。我们通过使用它们而不是其付费版本来支持它们。 他们可以产生惊人的专业效果,而所有这些都是免费的! 为了继续创建免费的开源程序,需要捐款,以支持创建者。 您也可以通过捐赠来支持我们(Pixelorama 的创建者),并且您可以请求任何新功能或报告任何潜在的错误!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧