解决问题 提示信息乱码问题

修改前的代码如下:

   public static void historyBack(HttpServletResponse response,String v){

              try{

                      

                        String exportString="<script>alert('"+getString(v)+"');history.back();</script>";

                          System.out.println("v is :"+getString(v));

                            System.out.println("getString(v)is :"+getString(v));

                            byte[] temp = exportString.getBytes();

                            String comm = new String(temp,"iso-8859-1");

                      //response.setContentType("text/html");

                 //response.setHeader("Content-disposition","attachment;filename=download.xls");

                      PrintWriter out = response.getWriter();

                     out.print(comm);

                     out.close();                  

              }catch(Exception e){

                     return;

              }

       }

 

部分代码修改如下:

       public static void historyBack(HttpServletResponse response,String v){

              try{

                       // 修改  2006--07-18

                        response.setCharacterEncoding("GBK");

                        String strV = getString(v);

                        System.out.println("V historyBack is :"+v);

                       

                        //String exportString="<script>alert('"+getString(v)+"');history.back();</script>";

                         String exportString="<script>alert('"+v+"');history.back();</script>";

                            System.out.println("v is :"+getString(v));

                            System.out.println("getString(v)is :"+getString(v));

                            byte[] temp = exportString.getBytes();

                             // 修改  2006--07-18

                     // String comm = new String(temp,"iso-8859-1");

                            String comm = new String(temp,"GBK");

                      //response.setContentType("text/html");

                     // response.setHeader("Content-disposition", "attachment;filename=download.xls");

                      PrintWriter out = response.getWriter();

                     out.print(comm);

                     out.close();                  

              }catch(Exception e){

                     return;

              }

       }

在这个代码当中只所以会出现JavaScript提示框为乱码,主要原因是在java的输出流当中。采用了iso-8859-1编码。这对java程序没有问题,如果没有在java程序中嵌入JavaScript提示框,可以才有iso-8859-1GBK编码,但是对JavaScript程序却不行,必须用GBK编码。这是由于JavaJavascript采用的编码机制不同造成的。

还有就是这里在处理请求和响应的数据之前,对请求和响应流进行了编码转换。可以解决编码转换问题。

// 修改  2006--07-18

                        response.setCharacterEncoding("GBK");

                        //String strV = getString(v);

                        System.out.println("V historyBack is :"+v);

                                                                  20067 18

你可能感兴趣的:(解决问题 提示信息乱码问题)