Điện thoại: 0944210999

Hướng dẫn thay đổi collation hàng loạt cho bảng dữ liệu MySQL

Việc thay đổi collation cho một table trong MySQL có thể thực hiện thủ công bằng cách vào PHPMyAdmin bấm vào mục Structure của bảng dữ liệu đó, tiếp theo chuyển qua tab Operation và đổi Collation ở khung table option.

Tuy nhiên cách làm này khá vất vả nếu bạn có đến hàng trăm hàng ngàn table cần đổi thì có lẽ mất cả ngày. Đoạn code dưới đây mình sưu tầm được và đã test. Sẽ giúp cho bạn thay đổi toàn bộ collation của dữ liệu sang bảng mã mình muốn. Chằng hạn từ latin1_swedish_ci sang utf8-general-ci. Giải quyết vấn đề lỗi font khi cập nhật nội dung mới.

1. Lưu đoạn code sau thành file php

<?php

$db = mysql_connect('localhost','mysql_user','mysql_password');

if(!$db) echo "Cannot connect to the database – incorrect details";

mysql_select_db('mysql_database'); $result=mysql_query('show tables');

while($tables = mysql_fetch_array($result)) {

foreach ($tables as $key => $value) {

mysql_query("ALTER TABLE $value COLLATE utf8_general_ci");

}}

echo "The collation of your database has been successfully changed!";

?>

2. Đổi thông tin cho phù hợp với host và database của bạn:

+ localhost: Máy chủ của bạn

+ mysql_user: Tên user để đăng nhập MySQL

+ mysql_password: Mật khẩu đăng nhập MySQL

+ mysql_database: Tên của cơ sở dữ liệu cần đổi collation

+ utf8_general_ci: bảng mã cần chuyển.

3. Up file này lên host và chạy nó:

Chẳng hạn bạn đặt tên file là change.php và up lên thư mục gốc thì chỉ cần chạy: tenmien.com/change.php. Khi có thông báo: The collation of your database has been successfully changed! là được. Còn Cannot connect to the database – incorrect details thì kiểm tra lại thông tin bạn cung cấp trong file đã chính xác chưa nhé.
4. Xóa file này để hạn chế nguy cơ về bảo mật:
File này chứa thông tin mật khẩu và user kết nối đến database của bạn. Do đó sau khi chạy xong thì nên xóa nó đi, tránh nguy cơ dữ liệu bị rơi vào tay kẻ xấu
Chúc các bạn thành công
_______________________

Convert từ Latin1 sang Uft8 trong PhpMyadmin

Khi cài website WordPress hay các mã nguồn khác, nhiều Hosting server chẳng hiểu sao để mặc định database Font là Latin 1 chữ không phải UFT 8 Unicode khiến website của bạn bị lỗi phông chữ nặng. Sau khi cài xong, ta phải vào PHP Myadmin để change lại Latin1 thành Ut8-General-ci rất bất tiện và mất công vì cữ phải dò từng bảng 1, từng row 1 mà change. Sau đây là cách sử dụng 1 chuỗi SQL lệnh để change hàng loạt từ latin 1 sang UTF8 chỉ bằng 1 nút bấm

Code:
ALTER TABLE wp_posts CONVERT TO CHARACTER SET utf8; 
ALTER TABLE wp_terms CONVERT TO CHARACTER SET utf8; 
ALTER TABLE wp_term_relationships CONVERT TO CHARACTER SET utf8; 
ALTER TABLE wp_options CONVERT TO CHARACTER SET utf8;
 ALTER TABLE wp_usermeta CONVERT TO CHARACTER SET utf8;
------


Cách thay đổi Collation của Database thành utf8-general-ci

Trong một số trường hợp trang web của bạn bị lỗi hiển thị tiếng Việt, lỗi này có thể do Collation của Database không phải là utf8-general-ci (chẳng hạn như latin1_swedish_ci). Trong trường hợp này bạn cần phải thay đổi lại Collation của Database thành utf8-general-ci, sau đây là cách thực hiện:

Cách thay đổi Collation của Dataase:

1/ Truy cập vào phpMyAdmin trên host (hoặc localhost) và chọn Database nào muốn sửa
2/ Chọn Tab tên là Operations
3/ Nhìn xuống phía dưới cùng bạn sẽ thấy mục Collation, hãy chọn utf8-general-ci
4/ Nhấn Go để chuyển.

Thay đổi này chỉ có hiệu lực đồi với các dữ liệu được tạo mới sau thời điểm này, các dữ liệu cũ vẫn cỏn giữ nguyên Collation như cũ, bạn phải thực hiện việc chuyển đổi Collation cho từng bảng dữ liệu cũ.

Cách thay đổi Collation cho các bảng dữ liệu:

1/ Truy cập vào phpMyAdmin trên host (hoặc localhost) và chọn Database nào muốn sửa
2/ Trong khung bên trái, nhấn vào một bảng dữ liệu đầu tiên.
3/ Chuyển sang khung bên phải, chọn Tab tên là Structure (nếu chưa được chọn)
4/ Bạn hãy dò trong cột Collation và đánh dấu chọn mục nào có Collation muốn chuyển đổi.
5/ Nhấn vào lệnh Change (có hình cây bút chì) trong phần With selected nằm ngay bên dưới.
6/ Thay đổi thành utf8-general-ci của các mục trong cột Collation.
7/ Nhấn Save để lưu các thay đổi.
Tiếp tục thực hiện từ bước 2 đến bước 7 cho các bảng dữ liệu còn lại.

Nhớ sao lưu Database trước khi thực hiện để nếu có lỗi gì thì có thể khôi phục lại được.

0 nhận xét:

About

Chúng tôi là đội ngũ làm website, marketting online chuyên nghiệp. Trang thông tin chính thức của chúng tôi là myhoian.com. Đến với chúng tôi , bạn sẽ nhận được sự tư vấn tin cậy, trang web ưng ý, sự hỗ trợ thân thiện.

Nhận xét

Loading...
.loadingxrcm {background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1MbDICVINdJ2VOosI42WTFoAQWoWaGfoipWxoo30hNjf_2HyKIijHyswYp7fpxP0suEDXGCBbpdbcz_GRDu31jodI_MaE91rtpc4e1lRMq1hqFTMMHHf7eNFLPKDVinbrMMEvttc_1kM/s1600/progress_ani.gif) no-repeat 50% 50%;width:32px;height:32px;display:block;margin:0 auto;text-indent:-9999px;} ul#kmtranimasi{text-align:left;font:normal normal 11px Verdana,Geneva,sans-serif} ul#kmtranimasi,ul#kmtranimasi li{margin:0;padding:0;list-style:none;overflow:hidden;position:relative} ul#kmtranimasi li{text-indent:0;height:90px;background:whiteSmoke;padding:0 8px;border:1px solid #DFDFDF;border-top:1px solid white} ul#kmtranimasi img{border-radius:9999px;overflow:hidden;background:#383838;border:0;float:left;margin:5px 5px 0 0} ul#kmtranimasi .ketkomt{overflow:hidden} ul#kmtranimasi .ketkomt a{display:block;color:white;font-weight:bold;overflow:hidden;background:#363636;border-radius:2px;float:left;padding:0 5px;margin: 5px 0 0 0;} ul#kmtranimasi .ketkomt span{font-size:8px;position:absolute;z-index:2;top:21px;border-radius:2px;display:block;line-height:14px;padding:0 5px;left:68px;background:white} ul#kmtranimasi p{margin:15px 0 0}

Contact Details

Mr Duan Tell: 0944210999 Email: thietkewebhoian@gmail.com Địa chỉ : 32/9 Nguyễn Duy Hiệu - Hội An