반응형

페이스북 게시글 파싱후 mysql DB에 입력 시도중 이모티콘에 대한 유니코드 문제가 발생

mysql의   HY000 1366 에러를 발생 시켰다.

일반적으로 한글에 대한 유니코드 문제였지만 이번엔 유니코드 방식의 문제로 판단되어 뒤지고 뒤져 해결책을 발견했다.

문제 되는 문자열을 아래 방식으로 부분 치환 처리 하여 문제를 해결 하였다.

 

String val = vo.getContent();
if ( val != null ){

 StringBuffer buf = new StringBuffer();
 int len = val.length();
 for ( int i = 0 ; i < len ; i++ ){
  char c = val.charAt(i);
  if ( 0xD800 <= c && c <= 0xDBFF || 0xDC00 <= c && c <= 0xDFFF ){
  }else{
   buf.append(c);
  }
 }
 vo.setContent(buf.toString());
}

비슷한 오류를 발견한 다양한 사람들이 있길래 오류코드를 추가하여 글을 작성한다.

 

출처 - http://egloos.zum.com/dmlim/v/5616630

반응형

'공부거리 > JSP' 카테고리의 다른 글

배열 리스트 사용법..?  (0) 2012.10.31
달력 만들기  (0) 2012.09.27
ArrayList 안에 HashMap 넣어쓰기(HashMapList??)  (0) 2012.09.11
text 파일 작성하기  (0) 2012.09.10
JAVA 코드 분석 툴(잠재적 위험도 등)  (0) 2012.08.25
반응형

 

 

 

반응형

'공부거리 > JSP' 카테고리의 다른 글

mysql 유니코드 문제  (0) 2015.08.04
달력 만들기  (0) 2012.09.27
ArrayList 안에 HashMap 넣어쓰기(HashMapList??)  (0) 2012.09.11
text 파일 작성하기  (0) 2012.09.10
JAVA 코드 분석 툴(잠재적 위험도 등)  (0) 2012.08.25
반응형

 

쉽다...ㅠㅠ

 

출처 - http://blog.naver.com/seilius?Redirect=Log&logNo=130143209442

반응형

'공부거리 > JSP' 카테고리의 다른 글

mysql 유니코드 문제  (0) 2015.08.04
배열 리스트 사용법..?  (0) 2012.10.31
ArrayList 안에 HashMap 넣어쓰기(HashMapList??)  (0) 2012.09.11
text 파일 작성하기  (0) 2012.09.10
JAVA 코드 분석 툴(잠재적 위험도 등)  (0) 2012.08.25
반응형
ArrayList와 HashMap을 한번에(합쳐서?) 사용하기.

ArrayList<HashMap<String, String>>

형태로 ArrayList를 만들어서 사용하면 된다.


사용 예제>
DB에 저장된 두개의 컬럼을 각각 다른 키값을 갖는 HashMap을 만들어 사용하고 싶다.
사용시 두 해시맵을 동시에 불러오고 싶다(?)

DB에서 값 가져오기.

<시작>
 
public ArrayList<HashMap<String, String>> getlist(){
ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
//하나로 만들 arraylist 선언
try{
conn = getConnection();//커넥션을 불러오는 사용자 함수.
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT CODE, NAME FROM TEST ORDER BY CODE");
//data를 가져와서.
while(rs.next()){
HashMap<String,String> sidmap = new HashMap<String,String>();
//그때그때 해시맵을 선언해 주어야 함.(키 값이 계속 동일 함으로)
sidmap.put("code", rs.getString("CODE"));
sidmap.put("name", rs.getString("NAME"));
//두개의 키 두개의 값
list.add(sidmap);//리스트에 추가.
}
return list;
}
catch(Exception e){
e.printStackTrace();
}
finally{
disConnection();//커넥션 종료하는 사용자 함수.
}
return null;
}
<끝>


DB에서 가져온 리스트를 사용 할때.

<시작>
 
 
 
 
 
 
 
 
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page language="java" import="java.util.*" %><!-- Arraylist와 hashmap을 쓰기위해 -->
<jsp:useBean id="getlist" class="test.list" scope="page" /><!-- 디비에서 값 가져오는 클래스 -->
<%
ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
list = getlist.getlist();
%>
<body>
<table>
<tr>
<td class="mx_td">
<select name="s_id"> <%
for(int i=0; i<list.size(); i++) {%>
<option value="<%=list.get(i).get("code")%>"><%=list.get(i).get("name")%></option>
<%} %>
</select>
</td>
</tr>
</table>
</body>
<끝>


결과



 

반응형

'공부거리 > JSP' 카테고리의 다른 글

배열 리스트 사용법..?  (0) 2012.10.31
달력 만들기  (0) 2012.09.27
text 파일 작성하기  (0) 2012.09.10
JAVA 코드 분석 툴(잠재적 위험도 등)  (0) 2012.08.25
java 형변환 모음  (0) 2012.01.10
반응형

 

파일 쓰기..

 

ps. 읽기도 완벽히 익혀야돼..ㅠㅠ

반응형

'공부거리 > JSP' 카테고리의 다른 글

달력 만들기  (0) 2012.09.27
ArrayList 안에 HashMap 넣어쓰기(HashMapList??)  (0) 2012.09.11
JAVA 코드 분석 툴(잠재적 위험도 등)  (0) 2012.08.25
java 형변환 모음  (0) 2012.01.10
DATE 현재시간 및 하루전 시간  (0) 2011.12.21
반응형
klocwork

CheckStyle
- a development tool to help programmers write Java code that adheres to a coding standard

FindBugs™
- Find Bugs in Java Programs

PMD
- PMD scans Java source code and looks for potential problems like:
1) Possible bugs - empty try/catch/finally/switch statements
2) Dead code - unused local variables, parameters and private methods
3) Suboptimal code - wasteful String/StringBuffer usage
4) Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
5) Duplicate code - copied/pasted code means copied/pasted bugs

출처 - http://302.pe.kr/295

반응형

'공부거리 > JSP' 카테고리의 다른 글

ArrayList 안에 HashMap 넣어쓰기(HashMapList??)  (0) 2012.09.11
text 파일 작성하기  (0) 2012.09.10
java 형변환 모음  (0) 2012.01.10
DATE 현재시간 및 하루전 시간  (0) 2011.12.21
간단 게시판 리스트 출력 소스  (0) 2011.12.19
반응형

int to string
String myString = Integer.toString(my int value);
String str = "" + i;


String to int
int i = Integer.parseInt(str);
int i = Integer.valueOf(str).intValue();


double to String
String str = Double.toString(i);


long to String
String str = Long.toString(l);


float to String
String str = Float.toString(f);


String to double
double d = Double.valueOf(str).doubleValue();


String to long
long l = Long.valueOf(str).longValue();
long l = Long.parseLong(str);


String to float
float f = Float.valueOf(str).floatValue();


decimal to binary
int i = 42;
String binstr = Integer.toBinaryString(i);


decimal to hexadecimal
int i = 42;
String hexstr = Integer.toString(i, 16);
String hexstr = Integer.toHexString(i);
--(with leading zeroes and uppercase)
public class Hex {
    public static void main(String args[]){
        int i = 42;
        System.out.print(Integer.toHexString( 0x10000 | i).substring(1).toUpperCase());}
}


hexadecimal (String) to integer
int i = Integer.valueOf("B8DA3", 16).intValue();
int i = Integer.parseInt("B8DA3", 16);    


ASCII code to String
int i = 64;
String aChar = new Character((char)i).toString();


integer to ASCII code (byte)
char c = 'A';
int i = (int) c; // i will have the value 65 decimal


integer to boolean
b = (i != 0);


boolean to integer
i = (b)?1:0;


출처 - http://blog.naver.com/free2824?Redirect=Log&logNo=60098226071
반응형
반응형
java.util.Date thisDate = new java.util.Date();
java.util.Date yesterday = new java.util.Date ( );

SimpleDateFormat dateFormatTime = new SimpleDateFormat("yyyyMMddHH24mmss");
String nowDateTime = dateFormatTime.format(thisDate);//현재시간
   
yesterday.setTime ( thisDate.getTime() - ( (long) 1000 * 3600 * 24 ) );//전부 초로 바꿔서 변경
yesterDate = dateFormatTime.format(yesterday);//하루전 시간



반응형
반응형
<%@ page import = "java.io.*, java.util.*, java.text.*, java.sql.*, md.database.*"%>
<%

Database db = null;
Statement stmt = null;
PreparedStatement pstt = null;
ResultSet rs = null;

db = new Database("BASIC");
stmt = db.con.createStatement(); // Statement 객체 생성

String sql = " select * from table "
rs = stmt.executeQuery(sql);

<table>
<tr>
<td>  1    </td>
<td>  2    </td>
<td>  3    </td>
</tr>

while(rs.next()){
out.println("<tr>");
out.println("<td>");
out.println(rs.getString("1"));
out.println("</td>");
out.println("<td>");
out.println(rs.getString("2"));
out.println("</td>");
out.println("<td>");
out.println(rs.getString("3"));
out.println("</td>");
out.println("</tr>);.
}

</table>

%>
 
반응형

+ Recent posts