database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 5735 게시물 읽기
No. 5735
일본어 지원 DB 관련되어서 더 질문 드립니다.
작성자
최윤진(yjchoi71)
작성일
2004-12-14 19:33ⓒ
2004-12-14 19:34ⓜ
조회수
3,553

"createdb -E EUC_JP dbname"

을 이용해서, DB 를 생성했습니다.

 

근데, 문제는... 일본어가 입력이 안됩니다... ^^;;;

제가 설정을 잘 못 한거 같아서, 추가 질문드립니다.

 

구조는, 웹(PHP5)에서 입력해서, DB(PostgreSQL7.4.6) 에 저장하고, JAVA 로 다시 출력 text 파일을 생성하는 것입니다.

php 에서 meta type 을 EUC_JP, shift_jis 등으로 해보았는데, 입력이 안됩니다.

한글과 숫자, 영문만 입력이 됩니다. 무엇이 잘 못 된 것일까요?? ㅡㅜ

 

아, 출력물은 반드시, SHIFT_JIS 이어야 합니다.

이 글에 대한 댓글이 총 6건 있습니다.
June님이 2004-12-14 20:22에 작성한 댓글입니다. Edit

postgresql.conf 에 보시면

default client encoding 을 잡아주는 부분이 있는데

그 부분을 euc_jp 로 바꾸세요.

그럼 위와 같이 안 하셔도 됩니다.

김현만(황제펭귄)님이 2004-12-14 22:17에 작성한 댓글입니다.

관건은 브라우져에 입력한 일본어 문자가 php에 전달이 안되느냐. 아니면 php까지는 전달이 되는데 DB에 저장이 안되느냐 하는 것 같습니다.

일단 전달되는 변수를 화면에 출력해 보세요. 만약 화면에는 출력이 되는데 일단 DB에 저장했다 읽기만 하면 글자가 깨졌다면 june님이 알려주신 것 처럼 client encoding과 server encoding이 달라서일겁니다. 그런데 pgsql에서 client encoding은 특별히 지정하지 않은 이상 server encoding을 따르기 때문에 이런 경우는 잘 발생하지 않습니다.

그리고 DB 저장 전에도 글자가 깨진다면 meta로 해결하는 것이 맞습니다. 글자 깨지는 방식이 #fa97; 이렇게 16진수로 변환되는 방식이라면 web page의 분자 셋 정의가 달라서입니다.

한번 확인하고 결과를 알려주십시오.

박성철(gyumee)님이 2004-12-16 02:36에 작성한 댓글입니다.

답변 해주신 모든 분들께 감사합니다. ^^

 

일단, 저의 질문에 대한 부분은 해결이 되었습니다.

apache 에서의 기본 문자셋이 'ISO-8859-1' 으로 되어 있어서 그랬습니다. 이것을 변경하였습니다. 그런 후에 DB 에 값이 들어 갔습니다.

 

근데, 문제는 박성철(gyumee)님이 일러 주신 부분입니다.

브라우저에서 입력된 값을 출력해 보니, 2byte 글자들이 전부 깨져서 보입니다. ㅠㅠ

최윤진(yjchoi71)님이 2004-12-16 17:32에 작성한 댓글입니다.

자답을 달고자 왔습니다.. ^^;;;;

 

일본어와 한글을 동시에 입력했을 경우에만 발생을 합니다.

일본어 와 ascii 코드값들을 넣을 경우에는 일본어가 원하는 charset 으로 입력이 됩니다(여러 방법의 테스트 결과 알아냈습니다. ㅡㅜ).

다만, 한글과 일본어를 동시에 입력을 받아서 처리를 할 경우에는 무슨 이유인지 euc-kr 로 인식이 되는 듯 합니다.

다른 분이 개발한 페이지에서 한글과 일본어가 동시에 입력이 가능하여서 그렇게 하려고 했더니, 잘 안되는 군요... -.-;;

최윤진(yjchoi71)님이 2004-12-16 19:45에 작성한 댓글입니다.

 

제가 일본어 홈페이지 개발 할 때와 좀 다르네요.

meta tag에 charset을 sjis로 설정하고 홈페이지를 개발했었는데 이경우 일문 언어로 설정된 web page에서 한글을 입력하면 한글들이 모두 unicode로 저장이 됩니다. 정확히 말하면 html 의 numeric entity로 encoding이 된 unicode 문자열이 되겠죠.

하지만 web page를 euc-kr로 하면 일본어와 한글이 다 입력이 됩니다. euc-kr에 기본적인 히라가나와 가다가나가 들어있어서요. 물론 sjis와는 호환이 안되죠.

박성철(gyumee)님이 2004-12-17 01:16에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5740여러개의 프로세스가 동시에 Insert/Delete/Update 연산 수행시... [4]
권진호
2004-12-20
3336
5737gmake에 대해서 질문 잇는데요... [1]
박상욱
2004-12-17
2392
5736win32 LANG 값 설정 방법은? [11]
김상기
2004-12-16
7541
5735일본어 지원 DB 관련되어서 더 질문 드립니다. [6]
최윤진
2004-12-14
3553
5734테이블이 없어지는 현상 [2]
채희범
2004-12-14
2517
5733퀴즈: 이달 생일 맞은 사람 목록 뽑기 :) [9]
김상기
2004-12-14
4161
5730일본어지원 디비를 생성하고자 합니다. [2]
최윤진
2004-12-11
2663
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다