[펌] http://seongtak-yoon.tistory.com/19



MySQL 5.0과 같이 저버전을 사용하게되면, 요즘 스마트폰에 기본으로 적용된 Emoji 문자때문에 골치 아픈 경우가 많습니다.

MySQL은 기본적으로 UTF-8이 3Byte까지만 지원하기때문에 4Byte로 구성된 Emoji와 같은 문자가 저장되면 빈 값으로 저장되거나 ?? 등으로 저장됩니다.

이를 방지하기 위해서 (정확이는 utf8mb4 타입을 적용하기 전까지 임시방편으로 ..) 저장되지 않도록 애플리케이션단에서 제거할 필요가 있습니다.


# planes 1-3

# planes 4-15

# plane 16

preg_replace("/\xF0[\x90-\xBF][\x80-\xBF]{2} | [\xF1-\xF3][\x80-\xBF]{3} | \xF4[\x80-\x8F][\x80-\xBF]{2}/", "", $string);



참고된 테이블 구성 그대로 정규식으로 조합하여 4Byte UTF-8 문자를 찾아내어 ""(빈값)으로 replace합니다.


4Byte UTF-8의 first Byte는 F0~F4로 구성되어 있습니다.

 - http://docs.oracle.com/cd/E24693_01/server.11203/e10729/appunicode.htm#CACHBDGH   여기를 참고해보시면  

 - 이 정보는 1~3Byte와 중복되지 않는 값으로 일종의 Key값(?)으로 생각하면 될것 같네요.



💞💞허허허💞💞 -> 허허허가 됩니다.

⛄허허 -> ⛄허허가 됩니다. 

이 문자는 3Byte로 구성된 UTF-8로 없어지지 않는 것이 맞고, 저버전 MySQL도 문제없이 처리가능합니다.

- http://apps.timwhitlock.info/unicode/inspect?s=%E2%9B%84



참고 사이트


- 특정 문자 구성내용 보기 

http://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%92%9E


- UTF-8 구성표

http://www.utf8-chartable.de/unicode-utf8-table.pl


- 도움되는 사이트.

http://stackoverflow.com/questions/16496554/can-php-detect-4-byte-encoded-utf8-chars


- getEmoji

http://getemoji.com/



저작자 표시
신고
Posted by childeye
TAG emoji, MYSQL, php


정부표준 프레임워크라고 나와서 한번 설치 시도해봄.


GEF

 - Available Software Sites 에 이미 등록되어 있음.

 - 검색 후 설치.


amateras ERD/ UML

 - 이클립스에서 Available Software Sites 에 추가 후 설치.

 - http://takezoe.github.io/amateras-update-site

 - Amateras Modeler

   Lightweight graphical UML and ER diagram editor



플러그인 직접설치 시 디렉토리.

/Applications/Eclipse.app/Contents/Eclipse/plugins


저작자 표시
신고
Posted by childeye

JSTL 조건식 사용할 때..


// eq

// - ==
<c:if test="${name eq '이름'}">

<c:if test="${name eq null}">

<c:if test="${age eq 20}">


// ne

// - !=

<c:if test="${name ne '이름'}">

<c:if test="${name ne null}">

<c:if test="${age ne 20}">


// empty

// - null, 빈 문자열, 빈 배열, 빈컬렉션 검사

<c:if test="${empty name}">

<c:if test="${!empty name}">

<c:if test="${empty list}">

<c:if test="${!empty map}">



저작자 표시
신고
Posted by childeye
TAG empty, EQ, JSTL, ñé



ajax 로 array data request 시 서버에서 받는 방법.



var a = [];

a[0] = 1;

a[1] = 2;

a[2] = 3;


$.ajax({


url : "/test.json",

type : "POST",

data: {

'array_data' : a

},

dataType: 'json',

success: function(data) {

},

error: function(data, status, err){

}

});





Spring 에서 요렇게 받을수 있다.

@RequestParam(value = "array_data[]", required = false) List<String> arrayData


sprint 3.x, jquery 1.10.x




저작자 표시
신고
Posted by childeye


하이버네이트 native sql  사용.


List<Map<String, Object>> 로 return.

String sql = "SELECT first_name, salary FROM EMPLOYEE";
SQLQuery query = session.createSQLQuery(sql);
query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
List results = query.list();


아래 함수를 사용하지 않을 경우에는 List<Object[]> 로 return.

setResultTransformer()


참조

https://www.tutorialspoint.com/hibernate/hibernate_native_sql.htm


다른 도움 사이트.

https://docs.jboss.org/hibernate/orm/3.3/reference/ko-KR/html/querysql.html



저작자 표시
신고
Posted by childeye
이전버튼 1 2 3 4 5 ... 73 이전버튼

티스토리 툴바