윈도 서버를 리눅스로 포팅 작업중인데요. 기존 디비 mssql은 freetds를 사용하는 연결로 변경 하였습니다. 근데 한글은 정상 출력이 안되네요. 해결 방법이 없을까요? ㅠㅠ
아니면 디비를 연결하는 freetds가 아닌 다른 솔루션이 있을까요?
어떻게 정상출력이 안되나요?
------------------ P.S. -------------- 지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
// 인터넷에서 도는 소스로 수정하여 만들어본 테스트 코드 입니다. // 한글 출력은 ???로 되네요 .
#include #include
char sql_buf[1024];
// 데이터베이스에서 가져온 컬럼을 아래 structure에 담아보죠. struct USER_STAT { char user_id[16]; char user_pass[16]; //char uid[10]; //char user_name[20]; //u_char age; //u_char gender; }user_stat;
int main() { LOGINREC *login; /* login information */ DBPROCESS *dbproc; DBINT ageint; char id[16],name[16]; //u_char gender; int id_length, name_length;
//putenv("SYBASE=/usr/local/freetds"); //putenv("TDSVER=42");
//putenv("TDSVER=80");
dbinit(); /* db-lib를 초기화한다 */
login = dblogin(); // login record를 가져온다 // sample디렉토리에 있는 pwd.c의 read_login_info()를 사용해도 되고, // 아래대로 직접 써도 되고요. read_login_info()는 PWD 파일을 읽어 // 들이는 것이죠.
DBSETLPWD(login,"tjqj"); /* login pass word set */ DBSETLUSER(login,"Server"); /* login id set */ // 아래 두줄은 안써도 상관은 없죠. 뭐. ^^ //DBSETLAPP(login,”sybase”); //SQL server쪽에 넘겨줄 어플리케이션명 //DBSETLHOST(login,”Linux”); //SQL server쪽에 넘겨줄 호스트명
// MS-SQL서버IP와 PORT 설정해놓은 interfaces file의 server명(myDBserver) // 을 쓰는겁니다. 자,,, DB오픈합니다.
dbproc = dbopen(login, "MSSQL"); //dbservcharset(dbproc); //printf("%s", dbproc->servcharset);
//tds_set_client_charset(login,);
//tds_set_client_charset(); //setlocale();
// 이제부턴 데이터베이스내 테이블 검색을 하고, 입력을 하고, // 갱신을 하고, 지우고… 하는 것들의 시작입니다.
// dbcmd -> 커맨드 입력받기. dbcmd(dbproc,"select rtrim(id),rtrim(pass) from tbl_member");// where
dbsqlexec(dbproc);
// dbresults -> 명령의 결과를 가져오기위해 준비합니다. dbresults(dbproc);
dbbind(dbproc,1,STRINGBIND,0,(BYTE*)id); dbbind(dbproc,2,STRINGBIND,0,(BYTE*)name);
// dbnextrow -> 검색결과물을 가져옵니다. while(dbnextrow(dbproc) != NO_MORE_ROWS) { printf("Result : ID : %s name : %s \n",id,name); }
// DB 접속 종료합니다. dbexit();
}
참조될 만한 링크 두개 겁니다.http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=66604&sca=&sfl=wr_subject||wr_content&stx=freetds&sop=andhttp://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=64169&sca=&sfl=wr_subject||wr_content&stx=freetds&sop=and
(게시판이 이상해 진 것 같네요. bbcode 가 안먹는듯 한데...
emerge moneyhttp://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~http://xenosi.de/
https://xenosi.de/
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
...
어떻게 정상출력이 안되나요?
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
// 인터넷에서 도는
// 인터넷에서 도는 소스로 수정하여 만들어본 테스트 코드 입니다.
// 한글 출력은 ???로 되네요 .
#include
#include
#include
#include
char sql_buf[1024];
// 데이터베이스에서 가져온 컬럼을 아래 structure에 담아보죠.
struct USER_STAT
{
char user_id[16];
char user_pass[16];
//char uid[10];
//char user_name[20];
//u_char age;
//u_char gender;
}user_stat;
int main()
{
LOGINREC *login; /* login information */
DBPROCESS *dbproc;
DBINT ageint;
char id[16],name[16];
//u_char gender;
int id_length, name_length;
//putenv("SYBASE=/usr/local/freetds");
//putenv("TDSVER=42");
//putenv("TDSVER=80");
dbinit(); /* db-lib를 초기화한다 */
login = dblogin(); // login record를 가져온다
// sample디렉토리에 있는 pwd.c의 read_login_info()를 사용해도 되고,
// 아래대로 직접 써도 되고요. read_login_info()는 PWD 파일을 읽어
// 들이는 것이죠.
DBSETLPWD(login,"tjqj"); /* login pass word set */
DBSETLUSER(login,"Server"); /* login id set */
// 아래 두줄은 안써도 상관은 없죠. 뭐. ^^
//DBSETLAPP(login,”sybase”); //SQL server쪽에 넘겨줄 어플리케이션명
//DBSETLHOST(login,”Linux”); //SQL server쪽에 넘겨줄 호스트명
// MS-SQL서버IP와 PORT 설정해놓은 interfaces file의 server명(myDBserver)
// 을 쓰는겁니다. 자,,, DB오픈합니다.
dbproc = dbopen(login, "MSSQL");
//dbservcharset(dbproc);
//printf("%s", dbproc->servcharset);
//tds_set_client_charset(login,);
//tds_set_client_charset();
//setlocale();
// 이제부턴 데이터베이스내 테이블 검색을 하고, 입력을 하고,
// 갱신을 하고, 지우고… 하는 것들의 시작입니다.
// dbcmd -> 커맨드 입력받기.
dbcmd(dbproc,"select rtrim(id),rtrim(pass) from tbl_member");// where
= 250");
dbsqlexec(dbproc);
// dbresults -> 명령의 결과를 가져오기위해 준비합니다.
dbresults(dbproc);
dbbind(dbproc,1,STRINGBIND,0,(BYTE*)id);
dbbind(dbproc,2,STRINGBIND,0,(BYTE*)name);
// dbnextrow -> 검색결과물을 가져옵니다.
while(dbnextrow(dbproc) != NO_MORE_ROWS)
{
printf("Result : ID : %s name : %s \n",id,name);
}
// DB 접속 종료합니다.
dbexit();
}
참조될 만한 링크
참조될 만한 링크 두개 겁니다.
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=66604&sca=&sfl=wr_subject||wr_content&stx=freetds&sop=and
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=64169&sca=&sfl=wr_subject||wr_content&stx=freetds&sop=and
(게시판이 이상해 진 것 같네요. bbcode 가 안먹는듯 한데...
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
댓글 달기