ผู้เขียน หัวข้อ: ช่วยด้วย ตารางเป็น latin1 ครับ  (อ่าน 10041 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
ช่วยด้วย ตารางเป็น latin1 ครับ
« เมื่อ: ธันวาคม 23, 2008, 13:20:23 PM »
0
ผมอัพเป็นเวอร์ชั่น 3.51.12.4 มีบางรายการเป็นตัว ???????? อ่านไม่ได้ครับ
เข้าไปดู สถานะของตาราง มันเป็น latin1 ครับ ไม่ใช่ tis620 จะแก้ไขยังไงครับ
ขอความช่วยเหลือหน่อยครับ
เป็นตามรูปครับ
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #1 เมื่อ: ธันวาคม 23, 2008, 13:45:25 PM »
0


...ลองสั่ง Check Charset ที่หน้าต่าง Check DB ดูนะครับ.... :D....

โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #2 เมื่อ: ธันวาคม 23, 2008, 14:38:55 PM »
0
ลองแล้วครับ  หลังจากนั้นเข้าไปดูใน sql ด้วยคำสั่ง show table status where collation like 'latin%'
ผลก็ยังเป็น latin1 อยู่เหมือนเดิมครับ ส่วนใหญ่ตารางที่เป็น latin1 จะมากับตัวอัพเกรด ของเวอร์ชั่นใหม่ๆ
เช่น ตาราง drg_group 
จะแก้ไขยังไงต่อดีครับ
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ Knott

  • Hero Member
  • *****
  • กระทู้: 889
  • Respect: +1
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #3 เมื่อ: ธันวาคม 23, 2008, 14:44:18 PM »
0
ใช้โปรแกรม navicat เปลี่ยน charset ของตารางเลยครับ
รพช.วัดโบสถ์ จ.พิษณุโลก
ขึ้นระบบ 1 เมษายน 2551 (ขึ้นระบบเอง)
Server : IBM x3250 M2, RAM 4 GB, FreeBSD 7.2, Mysql 5.1.30
HOSxP Version 3.56.1.15

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #4 เมื่อ: ธันวาคม 23, 2008, 15:05:56 PM »
0

...ลองเข้าไปดูที่การกำหนดค่าของ my.cnf ด้วยนะครับ  ว่า default-character-set เป็น tis620 หรือเปล่า  ผมสงสัยว่าจะเป็น latin1 อยู่นะครับ....

...ไม่งั้นเวลาที่มีการสร้างตารางใหม่ เช่น ตอน upgrade structure แล้วมีการสร้างตารางใหม่เพิ่มขึ้นมา ก็จะเป็น latin1 อีกครับ....
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #5 เมื่อ: ธันวาคม 23, 2008, 15:34:09 PM »
0
/etc/my.cnf    ของผมเป็นแบบนี้ครับ ค้นหาแล้วไม่เห็นมี latin1 นะครับ งงงง  ??? ??? ???

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 1024M
max_allowed_packet = 32M
table_cache = 1500
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size= 32M

thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'


innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
innodb_buffer_pool_size = 950M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 128M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #6 เมื่อ: ธันวาคม 23, 2008, 15:38:34 PM »
0

....

/etc/my.cnf    ของผมเป็นแบบนี้ครับ ค้นหาแล้วไม่เห็นมี latin1 นะครับ งงงง  ??? ??? ???


....งงเหมือนกันครับ.. ;D ... เดี๋ยวรอ อ.อ๊อด ชักดาบออกมาช่วยด้วยครับ.... ;D....
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ armds

  • Hero Member
  • *****
  • กระทู้: 1,084
  • armds
  • Respect: +10
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #7 เมื่อ: ธันวาคม 23, 2008, 16:01:55 PM »
0
ใช้คำสั่งนี้  ปรับปรุงก็ได้ครับ  แต่ต้องทำทีละตาราง 
เปลี่ยนชื่อตารางใน   `xxxxxx`  ตารางที่ยังเป็น  latin1  อยู่นะครับ

ALTER TABLE `adr_cause` DEFAULT CHARACTER SET tis620 COLLATE tis620_thai_ci
โรงพยาบาลสมเด็จพระยุพราชด่านซ้าย จ.เลย
ขนาด 60 เตียง นวก. คอมพิวเตอร์ ขึ้นระบบ ปี 2548
ขอบคุณ อ.ชัยพร อ.สุชัย อ.เดชา อ.doreamon อ.naj อ.ขวด และอ.ในเว็บ hosxp.net ทุกท่าน

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #8 เมื่อ: ธันวาคม 23, 2008, 16:04:29 PM »
0
thank 1 ดอกครับ ;D ;D
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #9 เมื่อ: ธันวาคม 24, 2008, 13:12:49 PM »
0
ใช้คำสั่งนี้  ปรับปรุงก็ได้ครับ  แต่ต้องทำทีละตาราง 
เปลี่ยนชื่อตารางใน   `xxxxxx`  ตารางที่ยังเป็น  latin1  อยู่นะครับ

ALTER TABLE `adr_cause` DEFAULT CHARACTER SET tis620 COLLATE tis620_thai_ci


อื่ม ของผม นับดูแล้วมีประมาณ 200 กว่า ตารางที่เป็น latin1 ดูท่าเหนื่อยมากเลยครับท่าน
พอจะมีคำสั่งที่ให้ไปตรวจสอบว่าตารางไหน COLLATE เป็น latin1 ให้ทำการ ALTER TABLE ครับ
ขอบคุณครับ
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

doramon

  • บุคคลทั่วไป
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #10 เมื่อ: ธันวาคม 24, 2008, 13:23:58 PM »
0
DFM
-----------------
object Form23: TForm23
  Left = 0
  Top = 0
  Caption = 'Character set changer'
  ClientHeight = 388
  ClientWidth = 364
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poMainFormCenter
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 48
    Top = 84
    Width = 24
    Height = 13
    Caption = '------'
  end

    object Label2: TLabel
    Left = 120
    Top = 120
    Width = 24
    Height = 13
    Caption = '------'
  end

  object Button1: TButton
    Left = 48
    Top = 24
    Width = 274
    Height = 49
    Caption = 'Start'
    TabOrder = 0
    OnClick = Button1Click
  end
  object pg: TProgressBar
    Left = 48
    Top = 171
    Width = 274
    Height = 17
    TabOrder = 1
  end
  object LogMemo: TMemo
    Left = 48
    Top = 222
    Width = 274
    Height = 139
    ScrollBars = ssVertical
    TabOrder = 2
  end
end

----------------

PAS
-----------------
unit Unit23;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm23 = class(TForm)
    Button1: TButton;
    pg: TProgressBar;
    Label1: TLabel;
    Label2: TLabel;
    LogMemo: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form23: TForm23;

implementation

{$R *.dfm}

procedure TForm23.Button1Click(Sender: TObject);
var tc,ts:tclientdataset;  i:integer;
 begin
   tc:=tclientdataset.create(nil);
   ts:=tclientdataset.create(nil);
   tc.data:=hosxp_getdataset('show tables');
   pg.position:=0;
   pg.max:=tc.recordcount;
   while not tc.eof do
   begin
     label1.caption:=tc.fields[0].asstring;
     ts.data:=hosxp_getdataset('show create table '+tc.fields[0].asstring);
     
     i:=pos('latin1',ts.fields[1].asstring);


     if i>0 then
     begin
      logmemo.lines.add('Change...'+tc.fields[0].asstring);
     try
       hosxp_getdataset('alter table '+tc.fields[0].asstring+' DEFAULT CHARACTER SET tis620 COLLATE tis620_thai_ci');
     except end;
     end;
     
     pg.position:=pg.position+1;
     application.processmessages;
     tc.next;
   end;

   tc.free;
   ts.free;
                     
   showmessage('Done.');

end;

end.


-----------------
« แก้ไขครั้งสุดท้าย: ธันวาคม 24, 2008, 13:31:49 PM โดย doraemon(saiyok) »

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #11 เมื่อ: ธันวาคม 24, 2008, 13:36:15 PM »
0
ลองกดปุ่ม Check Charset ใหม่ใน 3.51.12.24 นะครับ แก้ไขให้แล้ว
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #12 เมื่อ: ธันวาคม 24, 2008, 13:56:58 PM »
0
ลองกดปุ่ม Check Charset ใหม่ใน 3.51.12.24 นะครับ แก้ไขให้แล้ว
::)
ขอบคุณครับ จะรอโหลดเวอร์ชั่นใหม่  อาจารย์ครับ อย่าลืมทำ Tools ReSize Picture ในตาราง ER_Image นะครับ รูปผู้ป่วย เยอะมากครับ และก็ใหญ่มากครับ
ขอบคุณครับ  ;D ;D ;D
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #13 เมื่อ: ธันวาคม 26, 2008, 13:19:44 PM »
0
ลองกดปุ่ม Check Charset ใหม่ใน 3.51.12.24 นะครับ แก้ไขให้แล้ว

ลองใช้งานแล้วครับ 3.51.12.24 และ 3.51.12.25d ในส่วนของ ปุ่ม Check Charset ระบบได้ปรับตารางที่เป็นlatin1 ให้เป็น tis620 ทั้งหมดแล้วครับ  เหลือเพียงแต่ข้อมูลในตารางมันยังเป็น เครื่องหมายคำถาม ?? อยู่ครับ
อาจารย์ช่วยดูอีกทีครับ
ตามรูปเลยครับ
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #14 เมื่อ: ธันวาคม 26, 2008, 13:26:38 PM »
0
ลบข้อมูลออกแล้ว append จาก แฟ้มใน C:\Program Files\HOSxP\Dataset แทนครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ monalisa

  • Newbie
  • *
  • กระทู้: 34
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลกันทรวิชัย
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #15 เมื่อ: ธันวาคม 26, 2008, 13:37:46 PM »
0
สงสัยต้อง Restore ใหม่ครับ
โรงพยาบาลกันทรวิชัย จ.มหาสารคาม, 30 เตียง
Version: 3.51.12.4
MySQL Version: 4
Os: FreeBSD 6.3
Server : IBM X Series
Client: Windows XP , 20 PCs.
Mail: siteslave@msn.com,mr.satit@windowslive.com

ออฟไลน์ panomm

  • Sr. Member
  • ****
  • กระทู้: 378
  • Respect: 0
    • ดูรายละเอียด
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #16 เมื่อ: ธันวาคม 26, 2008, 13:40:10 PM »
0
ลบข้อมูลออกแล้ว append จาก แฟ้มใน C:\Program Files\HOSxP\Dataset แทนครับ
อาจารย์ครับ ได้แล้วครับ แต่..... ตารางที่จะต้อง open+appen เข้าไปใหม่ เยอะมากครับ ประมาณ 200 กว่าตารางครับ มีวิธีได้ ทำได้เร็วๆ บ้างครับ
ขอบคุณครับ
Mr.Phanomrung Tiumyos   Song Hospital  Tel 089-4335673   E-Mail panomm@hotmaill.com  >>>>   MSN panomm@hotmail.com 
---------------------------------------------------------------------
Server Xeon  HDD SCSI 2 TB.  Ram 8 GB. Centos 6.4  MySQL Percona-Server-server-55-5.5.33-rel31.1.566.rhel6.x86_64  Hosxp อัพเดท เรื่อยๆ   เริ่ม  1 มิ.ย.  2549 โดย อ.ชัยพร และ คุณไพรัช (คุณบอย) ใช้เต็มระบบ

ออฟไลน์ monalisa

  • Newbie
  • *
  • กระทู้: 34
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลกันทรวิชัย
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #17 เมื่อ: ธันวาคม 26, 2008, 13:46:17 PM »
0
ลองศึกษาตามที่นี่ดูนะครับ

http://muzso.hu/2008/04/09/how-to-change-the-character-set-andor-collation-in-a-mysql-database-for-all-tables-and-co

หรือ

http://kb.siteground.com/article/How_to_change_the_collation_for_all_tables_in_db_to_UTF8.html

หรือ

http://www.phoca.cz/download/category/17-phoca-changing-collation-tool  (php script แต่ยังไม่เคยลอง)


ยังไงก็อย่าลืมสำรองข้อมูลไว้ด้วยนะครับ เดี๋ยวเกิดข้อผิดพลาด
« แก้ไขครั้งสุดท้าย: ธันวาคม 26, 2008, 13:55:29 PM โดย monalisa »
โรงพยาบาลกันทรวิชัย จ.มหาสารคาม, 30 เตียง
Version: 3.51.12.4
MySQL Version: 4
Os: FreeBSD 6.3
Server : IBM X Series
Client: Windows XP , 20 PCs.
Mail: siteslave@msn.com,mr.satit@windowslive.com

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: ช่วยด้วย ตารางเป็น latin1 ครับ
« ตอบกลับ #18 เมื่อ: ธันวาคม 26, 2008, 15:01:13 PM »
0
เอาเฉพาะตารางที่มีปัญหา ????? นะครับ ไม่ต้องเอาทั้งหมด
HOSxP Project Manager / Cheif Developer / BMS MD