요즘 중국어 문자 깨짐 문제로 고민하고 있습니다. 중국어 데이터가 My Sql에 삽입되어 Command 클라이언트 라인에 정상적으로 표시되는 것은 정상입니다. 데이터베이스에서 JSP 페이지로 읽어오면 이렇게 됩니다. "화성".
그래서 온라인으로 검색해 보니 여러 가지 방법이 있었습니다. my.ini의 default-character-set=latin1을 default-character-set=utf8로 변경하라는 사람도 있었고, Eclipse에서 기본 인코딩 방법을 변경하라는 사람도 있었고, 변경하라는 사람도 있었습니다. <%@ page contentType="text/html;charset=gb2312" %>;, 그리고 다른 사람들은 연결 문자를 변경하라고 말합니다: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MyData?user= 루트&password=3211535&useUnicode=true&characterEncoding=GB2312"); .
몇번의 수정을 거치고 또 여러번의 인코딩 방법으로 헷갈리기도 했고, 계속해서 변경을 해도 여전히 깨져서 어딘가에서 특정 인코딩 방식을 바꾸다가 또 다른 종류의 깨짐 코드가 되는 경우가 있었습니다. 어젯밤 11시가 넘도록 작업했는데 여전히 안되네요. 진정하고 소스부터 시작해야겠다는 생각이 들어서 JSP가 My에서 데이터를 읽을 때 어떤 인코딩 방법을 사용하는지 확인하기 위해 인터넷에 접속했습니다. Sql.. 의견이 여러개 있어서 따로 시도해봤습니다. 마지막으로 성공했습니다. <%=sqlRst.getString(1)%> 문장 중 하나가 <%=new String(sqlRst.getString(1).getBytes("iso8859-1"),"gb2312")%>로 변경되었습니다. . 중국어를 성공적으로 표시하려면 인코딩 방법을 iso8859-1에서 gb2312로 변환하세요.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/laolik/archive/2009/12/18/5029459.aspx
-