Lấy dữ liệu từ mysql ra php bị lỗi font năm 2024

Em đã làm được rồi. Nhưng cho em hỏi chút, khi em dùng json_encode để chuyển từ array sang json thì chữ tiếng việt nó biến thành những kí tự, không phải tiếng việt. Em có search trên mạng thì họ bảo đó là dạng khi chuyển sang json. Thế cho em hỏi khi lấy dữ liệu từ json, có cách nào chuyển lại font tiếng việt không ạ. Em xin cảm ơn.

Theo mình nghĩ đó là mã utf8 chắc convert được thử dùng tool này xem sao. Từ Utf8 thành unicode.

Lúc mới vào UIT :byebye: Học xong năm 1: :haha: Học xong năm 2: :sexy: Học xong năm 3: :baffle:

Trong bài viết này mình sẽ hướng dẫn các bạn xử lý trường hợp xảy ra trên hosting khi import database xuất hiện thông báo lỗi:

Lỗi như trên là vì phiên bản MySQL hiện tại mà hosting đang chạy không hỗ trợ cho bảng mã utf8mb4_unicode_520_ci.

Cũng có lúc bạn sẽ gặp lỗi:

1273 - Unknown collation: 'utf8mb4_unicode_ci'

với lý do tương tự.

Bạn có thể tạo một file info.php để kiểm tra phiên bản MySQL đang chạy trên hosting của mình là gì để biết phiên bản đó có hỗ trợ bảng mã đó hay không.

Theo như hình phiên bản MySQL mà hosting của Kỹ thuật đang dùng là 5.5.36. Với phiên bản MySQL này thì không hỗ trợ bảng mã utf8mb4_unicode_520_ci nhưng có hỗ trợ bảng mã utf8mb4_unicode_ci.

Vậy làm cách nào để bạn import database sử dụng bảng mã utf8mb4_unicode_520_ci lên hosting đang chạy phiên bản MySQL 5.5.36?

Ta sẽ có 2 cách:

  • Cách 1: Báo lại với nhà cung cấp dịch vụ của bạn yêu cầu họ nâng cấp phiên bản MySQL lên phiên bản 5.6 (phiên bản này có hỗ trợ bảng mã utf8mb4_unicode_520_ci)
  • Cách 2: Chuyển đổi bảng mã utf8mb4_unicode_520_ci về các bảng mã mà phiên bản MySQL hiện tại bạn đang dùng có hỗ trợ.

Ở đây chúng ta sẽ không bàn đến cách 1, Kỹ thuật sẽ hướng dẫn các bạn làm cách 2.

Với cách 2, đầu tiên bạn sẽ cần cài đặt Notepad++ để mở file database lên thì mình mới có thể chỉnh sửa được bảng mã. Tải về file cài đặt Notepad++ tại đây.

Sau khi đã tải về và cài đặt Notepad++ trên máy tính cá nhân, bạn tiến hành mở file database lên bằng cách click chuột phải vào file và chọn Edit with Notepad++.

Mở file lên xong, bạn sẽ tìm đến một bảng (table) gần nhất sẽ thấy bảng đó dùng bảng mã utf8mb4_unicode_520_ci.

Giờ ta sẽ đổi toàn bộ bảng mã utf8mb4_unicode_520_ci thành utf8mb4_unicode_ci bằng cách dùng tính năng Replace của Notepad++.

Bạn nhấn tổ hợp phim Ctrl+H hoặc là chọn Search > Replace như hình dưới.

Có một toolbox sẽ xuất hiện giữa màn hình, bạn sẽ nhập utf8mb4_unicode_520_ci vào ô Find what, nhập utf8mb4_unicode_ci vào ô Replace with, sau đó nhấn Replace All.

Tiến hành lưu lại file này và import database lại là thành công.

Nếu các bạn gặp phải lỗi

1273 - Unknown collation: 'utf8mb4_unicode_ci'

hoặc lỗi

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '

thì đó là do phiên bản MySQL hiện tại không hỗ trợ, bạn nên đổi về lại utf8_unicode_ci với cách như trên nhé.

  • 1

Trong dữ liệu mysql thì nó vẫn có tiếng việt khi nhưng echo ra thì nó lại ra dấu ?? ạ

*Ảnh trong mysql (bảng mã utf8_general_ci)

*Ảnh hiện ra (Lỗi ??)

  • 2

Đổi thành utf8_unicode_ci là đc. Cơ bản thế này thì vào box chat chứ đăng post chi

  • 3

    Đổi thành utf8_unicode_ci là đc. Cơ bản thế này thì vào box chat chứ đăng post chi

Thế còn cái lúc nhập vào nó như này: Ch? Du??t thì sao z

  • 4

chỉnh thành unicode kiểu msqlisam

  • 5

    chỉnh thành unicode kiểu msqlisam

lms v nam :v

  • 6

    Thế còn cái lúc nhập vào nó như này: Ch? Du??t thì sao z

Đâu ib tôi xem xem còn lỗi tiếng việt thì sửa sql lại rồi insert lại là ổn thoi

  • 7

Chỉnh thành utf8 unicode ci

  • 8

    Chỉnh thành utf8 unicode ci

rồi mà vẫn kh dc á

Chủ đề