mysql 4.1.12 에서 그누보드 한글이 안깨지게 사용하는 방법은? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

mysql 4.1.12 에서 그누보드 한글이 안깨지게 사용하는 방법은? 정보

mysql 4.1.12 에서 그누보드 한글이 안깨지게 사용하는 방법은?

본문

안녕하세요
그누보드가 utf8 유니코드를 지원하지 않는 관계로 mysql 4.1.X 이상을 설치하면 문제가 생기는 데요.
 phpadmin 같은 것으로 한글이 깨지는 문제......

저는 mysql 4.1.12 에서
테이블을 만들면서 컬렉션을 euckr_bin 과  euckr_korean_ci 모드로 데이블을 생성해서 설치해 봤더니 latin1_swedish_ci  가 아니라고 모두 에러가 내서 실행이 안되더라구요

 latin1_swedish_ci 또는  utf8_general_ci  로 컬렉션을 잡으면 설치는 되지만 phpadmin 으로 보면 결국에 저장은 utf8 테이블에  euckr 로 저장이 되는 것이라서 당연히 한글이 깨져서 보이는 것일 테구요

가장 정확한 방법은 그누보드를 유니코드로 확 갈아 엎으면 되지만 그역시 그누보드에서 파일 하나만 수정하면 되는게 아니고 연결된 모든 파일을 수정해야 하는 일이라서 쉬운일은 아니구요
-팁엔테크에 관련 소스가 있어서 해봤는데 잘 안되더하구요-

그누보드를 mysql 4.1.12 에서 한글이 안깨지게 설정해서 사용하는 법을 아시는 분 알려 주시면 감사하겠습니다.

점차적으로 유니코드로 가는 추세이고 리눅스 배포판이 이제는 mysql 4.1.X 라고는 하지만 아직은 그누보드가 euckr을 사용하는한 설정을 그에 맞춰서 해야하니까요

그런데 해법을 못찾겠습니다.
이것 뗌에 mysql 버젼을 4.0.X로 쓸수는 없쟎아요

푸념이 길었네요
제가 할수 있는 모든 방법을 다 해본것 같은데 답이 안나와서요
  • 복사

댓글 전체

저도 한글이 깨지길래...

데이타베이스를 새로 생성했습니다.

먼저 ..
create database DB_NAME character set euckr collation euckr_korean_ci
로 해서 안되길래...

create database DB_NAME character set euckr 로 만들고

mysql의 환경설정파일..my.cnf 에서..
default-character-set=euckr
추가해 주고...

새로 mysql 가동한다음...
보니 한글이 제대로 보였습니다.

참고로...mysql 의  Server version:        4.1.12-standard

++++혹시나 도움이 될까해서 올린 글이니..답변이 도움이 안되더라도...ㅜ.ㅜ 이해해 주세요.. +++
mysql 초잡니다.^^
my.cnf 파일에 아래와 같이 환경변수값을 설정하여 사용하고 있습니다.

[client]
default-character-set = euckr

[mysqld]
init_connect = 'set names euckr'
character-set-server = euckr
default-character-set = euckr
default-collation = euckr_korean_ci
old_password = 1 <------ 이전 패스워드형식 사용

[mysqldump]     
default-character-set = euckr
해결하셨나요?? 아직 미해결이면 아래의 내용이 도움되길 바라며...

http://www.php.net의 mysql_connect 펑션에서 발췌했습니다.

참고하세요...

- http://kr2.php.net/manual/kr/function.mysql-connect.php

---------------------------------------------------------------------------------------------------------
To avoid something like this:

Database error: Invalid SQL: SELECT * FROM alias WHERE path='1108043672' AND fk_client_id=2
MySQL Error: 1267 (Illegal mix of collations (latin2_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=')
Session halted.

PHP >=4.3.10
MySQL >=4.1.0

simply write:

<?php
class MySQL {

//[...]

  function connect($host, $user, $pass) {
      $this->Link_DB = @mysql_connect($host, $user, $pass);
      if($this->Link_DB) {
          if(version_compare(phpversion(), "4.3.10", ">=")>0) {
              $result = @mysql_query("SHOW VARIABLES LIKE 'version'", $this->Link_ID);
              $row = mysql_fetch_row($result);
              $mysql_ver = $row[1];
              if(version_compare($mysql_ver, '4.2.0', '>=')>0) {
                  $i = 1;
                  while(defined('DB_INIT_CODE_'.$i)) {
                      $sQuery = constant('DB_INIT_CODE_'.$i);
                      mysql_query($sQuery, $this->Link_ID);
                      $i++;
                  }
              }
          }
      }
      else {
          return false;
      }
      return true;
  }
}
?>

and

<?php

define('DB_INIT_CODE_1', "SET NAMES latin2");
define('DB_INIT_CODE_2', "SET CHARACTER SET latin2");
define('DB_INIT_CODE_3', "SET COLLATION_CONNECTION='latin2_general_ci'");
// and so on...
?>

elsewhere (like I put it down in MySQL.config.inc.php)

The only important thing is You MUST include definitions before including object MySQL :)

Spent lot of time looking for prettier solution but there seems not to be any...
© SIRSOFT
현재 페이지 제일 처음으로