| 제목 | 프로시저 호출 관련하여 질문드립니다.(PDO_SQLSRV, PDO_ODBC) | ||
|---|---|---|---|
| 글쓴이 | 오징어1 | 작성시각 | 2016/08/31 10:31:25 | 
| 
                         | 
                |||
| 
                         현재 윈도우, 리눅스 두곳에서 작업을 진행하고 있습니다. DB서버는 SQL SERVER이고 프로시저를 호출해서 데이터를 INSERT하는 부분에서 한글 인코딩 문제로 어려움을 겪고 있습니다. 
 윈도우에서는 PDO_SQLSRV를 이용하고 리눅스에서는 PDO_ODBC를 이용하고 있습니다. 현재 프로시저도 수정할 수 없고 테이블도 수정할 수 없는 상황입니다. 알아보니 MSSQL은 varchar 데이터타입에 한글을 입력할 수 없다고 하더군요 그래서 varchar에 한글을 입력하기 위해서는 N'한글' 이런식으로 값 앞에 N을 붙여서 nvarchar형태로 인식하도록 하면 입력이 가능하더라고요 
 윈도우에서 PDO_SQLSRV로 프로시저를 호출하면 profiler로 봤을 때  declare @p1 int 
set @p1=2 
exec sp_prepexecrpc @p1 output,N'dbo.hp_mycafeboard_save_test',N'120',N'차량판매후기',N'999',N'0',N'0',N'0',N'0',N'관리자',N'테스트',N'20160830',N'111',N'1',N'',N'',N'',N'',N'',N'',N'',N'',N'' 
select @p1 
이런식으로 값 앞에 N이 자동으로 붙어서 INSERT가 문제 없이 잘 되는데 
 리눅스에서 PDO_ODBC로 프로시저를 호출하면 profiler로 봤을 때 declare @p1 int 
set @p1=1 
exec sp_prepexecrpc @p1 output,N'dbo.hp_mycafeboard_save_test',@MNo=122,@BoardName='차량판매후기',@GroupNo=999,@SubGroup=0,@Category1=0,@Category2=0,@Category3=0,@Writer='관리자',@SubJ='테스트',@RegDate='20160830',@EditPass='111',@Cont='1',@UpFile1='',@UpFile2='',@Hand='',@MakerCode='',@ItemsCode='',@CarCode='',@YYMM='',@MbSido='',@MbCity='' 
select @p1 
이런식으로 값 앞에 N이 없어서 한글 입력시 깨져서 INSERT가 되고 있습니다. 
 프로시저 호출하는 소스는 동일하고 
 수동으로라도 리눅스에서 N을 붙여서 한글이 안깨지게 하고 싶습니다. 
 혹시 비슷한 경험 해결하신분 계신가여?ㅠㅠ 도와주세요ㅠㅠㅠㅠ  | 
                |||
| 첨부파일 | 
                                프로시저 콜.JPG (39.6 KB) | 
                    ||
| 다음글 | 마이페이지를 만들고 있는데요 (3) | ||
| 이전글 | 다른 서버에있는 html 소스 가져오기 (3) | ||
| 
                             
                                한대승(불의회상)
                                /
                                2016/08/31 11:31:51 /
                                추천
                                0
                             
                            
                                리눅스용 pdo_sqlsrv 로 테스트 해보세요.
                             
                         | 
                    
| 
                             
                                오징어1
                                /
                                2016/08/31 11:35:53 /
                                추천
                                0
                             
                            
                                리눅스용 pdo_sqlsrv는 없던데요?ㅠㅠ
                             
                         | 
                    
| 
                             
                                닉
                                /
                                2016/08/31 12:08:08 /
                                추천
                                0
                             
                            
                                인코딩이 깨지면 접속하는 클라이언트나 서버 설정에서 인코딩 설정쪽 보면 되지 않을가요??
                             
                         | 
                    
| 
                             
                                배강민
                                /
                                2016/08/31 12:57:08 /
                                추천
                                0
                             
                            
                                CI 질문 게시판에도 올리신 동일한 질문글은 삭제했습니다.
                             
                         |