易截截图软件、单文件、免安装、纯绿色、仅160KB

Java 读取 MySQL 中文 乱码

Java 读取 MySQL 中文 乱码
场景:Java,eclipse,读取MySQL数据库,MySQL编码为utf-8
问题:读出来的中文在eclipse的输出窗口中显示为乱码
错误的写法
1
   System.out.print(new String( rs.getString("bib_author").getBytes("utf-8"),"GBK" )); 

   System.out.print( rs.getString("bib_author")); 
Java中统一使用Unicode编码。
正确的写法:
System.out.print(new String (rs.getBytes("bib_author"),"utf-8") + " "); 
如划线加粗部分所示,应该先用二进制方式读进来,然后再转化为utf-8方式,和数据库中的编码一致。
下面是之前碰到过的一个例子,从web服务器读取数据,并转化为utf-8。web服务器使用的是iso-8859-1编码。
同样也是先用getbytes方式先获取二进制流,然后转成utf-8。
-------------------------------------------------------------------------------------------
3个地方设置编码,解决乱码问题
    public static String GetResponse(HttpMethodBase Method) throws IOException {
        String charset= Method.getResponseCharSet();
        System.out.println("返回的字符编码为:"+charset);
        InputStream responseBody = Method.getResponseBodyAsStream();
//        BufferedReader br = new BufferedReader(new InputStreamReader(responseBody));
        BufferedReader br = new BufferedReader(new InputStreamReader(Method.getResponseBodyAsStream(), "ISO-8859-1"));//1 
        String tempbf;
        StringBuffer htmlbf = new StringBuffer(100);
        while ((tempbf = br.readLine()) != null) {
//            htmlbf.append(tempbf);
            htmlbf.append(new String(tempbf.getBytes("iso-8859-1"),"utf-8"));//2 
            htmlbf.append("\n");
 


相关文档:

四种在MySQL中修改root密码的方法

 <>整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!
方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
 
  mysqladmin -u root password "newpass"
  如果root已经设置 ......

Linux中查看和设置MySQL数据库字符集(转)

6
、修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
 
6
、创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
通过配置文件设置创建数据库时字符集:
#vi /var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-col ......

Java访问权限浅析

 Java访问权限一共有四种,他们之间的访问权限比较通过以下一组例子来解释
例子code:ModiferDemo.java
package com.glust.blog.j2se;
public class ModiferDemo{
  //四种访问权限的变量(属性)
  private int a;
  int b;//friendly
  protected int c;
  public int d;
  ......

java 正则表达式

  String str  = "[010101]+[010102]";
  String ss = "
  System.out.println(ss); //  \[010101]  
  [  是特殊字符,
  需要用反斜杠  \[  对其进行转义
\\[010101]";  
  String ssss = "
\\ ......

java实现的stack pop方法小细节

 前些天编小程序,写其中有一个自己实现的stack的pop如下:
public class Stack<T>{
 
   private ArrayList<T>  list;
   public Stack(){
          list =  new ArrayList<T>();
}
    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号