10/10/2018, 10:05

Lỗi tiếng Việt trong trang PHP - Mysql

trang PHP - Mysql:
- trong file php đã có dòng:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- Khi tạo CSDL bằng PhpMyAdmin đã đặt Collation là utf8_unicode_ci. Khi insert hoặc brow đã nhìn thấy không bị lỗi tiếng Việt trong PhpMyAdmin
- Sau khi truy vấn thì tất cả chỗ nào có dấu tiếng Việt đều bị biến thành đâu "?" mà chỉ dấu đó mà thôi.

Rất mong các tiền bối chỉ giùm ta phải làm thế nào để hiện đúng tếng Việt
anhln viết 12:22 ngày 10/10/2018
Tôi dùng xampp-win32-1.6.2-installer để cài trên localhost để tự học PHP và đặt các mục có liên quan đén font tiếng Việt như sau (Giống như bạn h5n1 đã đặt):
- trong file php đã có dòng:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- Khi tạo CSDL bằng PhpMyAdmin đã đặt Collation là utf8_unicode_ci. Khi insert hoặc brow đã nhìn thấy không bị lỗi tiếng Việt trong PhpMyAdmin.
- Sau khi truy vấn thì tất cả chỗ nào có dấu tiếng Việt đều bị biến thành đâu "?" mà chỉ dấu đó mà thôi.
- Các dòng tiiéng việt không lấy từ CSDL thì vẫn hiện đúng
Sau đó tôi đổi về collation là latin1 thì kết quả cũng không có gì khác. Tôi đã nêu vấn đề này ở một số diễn đàn nhưng chỉ nhận được sự im lặng hoặc hướng dẫn các công đoạn mà tôi đã làm.
Đề nghị các bác thử tải XAMPP về cài trên localhost và tạo trang php thực hiện công việc truy vấn bảng trong MySql có dữ liệu tiếng việt xem có cách nào cho hiện đúng tiếng Việt không?
conmalele viết 12:13 ngày 10/10/2018
phpmyadmin bản mới bị khìn với UTF-8. Nếu dùng utf8_unicode_ci thì khi import vào thì chỗ Character set of the file chọn latin1. Em cũng dùng XAMPP, em làm vậy thấy ok, lâu rồi cũng không nhớ rõ, hình như chọn latin1
anhln viết 12:20 ngày 10/10/2018
Khi tạo mới CSDL đã chọn Latin1 thay vì utf8_unicode_ci cho collation nhưng cũng không được. Có lẽ trường hợp này thuộc dạng BÓTAY.COM chưa ai khắc phục được.
Đề nghị các bác thử tải XAMPP về cài trên localhost và tự tạo trang php thực hiện công việc truy vấn bảng trong MySql có dữ liệu tiếng việt xem có cách nào cho hiện đúng tiếng Việt không?
TheHeTre viết 12:22 ngày 10/10/2018
Kinh nghiệm của tôi là:

Dùng XAMPP phiên bản mới nhất trên localhost + phpMyAdmin mới nhất trên server (nếu host cài bản cũ thì cài bản mới lên ) Sở dĩ thế vì phiên bản mới hỗ trợ nhiều tính năng chuyển đổi hơn các phiên bản cũ rất nhiều

Dùng collation thống nhất giữa localhost và trên server (lúc import), latin hay utf-8 đều được

Database, Table, Field cũng phải thống nhất kiểu collation. Và chưa bao giờ bó tay mới lỗi tiếng việt với database khi chuyển qua lại giữa bất cứ host nào!

Nếu các bạn làm không được có thể BUZZ tôi vào buổi tối từ 22h trở đi

Chúc thành công
lovelycesar viết 12:10 ngày 10/10/2018
Được gửi bởi h5n2
trang PHP - Mysql:
- trong file php đã có dòng:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- Khi tạo CSDL bằng PhpMyAdmin đã đặt Collation là utf8_unicode_ci. Khi insert hoặc brow đã nhìn thấy không bị lỗi tiếng Việt trong PhpMyAdmin
- Sau khi truy vấn thì tất cả chỗ nào có dấu tiếng Việt đều bị biến thành đâu "?" mà chỉ dấu đó mà thôi.

Rất mong các tiền bối chỉ giùm ta phải làm thế nào để hiện đúng tếng Việt
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
h5n2 viết 12:12 ngày 10/10/2018
Được gửi bởi TheHeTre
Kinh nghiệm của tôi là:

Dùng XAMPP phiên bản mới nhất trên localhost + phpMyAdmin mới nhất trên server (nếu host cài bản cũ thì cài bản mới lên ) Sở dĩ thế vì phiên bản mới hỗ trợ nhiều tính năng chuyển đổi hơn các phiên bản cũ rất nhiều

Dùng collation thống nhất giữa localhost và trên server (lúc import), latin hay utf-8 đều được

Database, Table, Field cũng phải thống nhất kiểu collation. Và chưa bao giờ bó tay mới lỗi tiếng việt với database khi chuyển qua lại giữa bất cứ host nào!

Nếu các bạn làm không được có thể BUZZ tôi vào buổi tối từ 22h trở đi

Chúc thành công
Bác làm ơn down chương trình đưn giản em đính kèm phía dưới về sửa giùm được không???
h5n2 viết 12:13 ngày 10/10/2018
em phát hiện một đặc điểm là ở Phpmysql hiện theo dạng: LÆ°Æ¡ng Ngọc Anh thì khi truy vấn sẽ hiện đúng là Lương Ngọc Anh. Vậy các bác cho ý kiến tại sao vậy? dạng trên là encoding gì? Làm sao để nhập vào mysql encoding đó?
anhln viết 12:13 ngày 10/10/2018
Khi sử dụng XAMPP 1.62 trên localhost để chạy CMS Joomla thì khi vào trang phpmysql thì thấy không hiện đúng các dữ liệu tiếng việt nhưng trang của joomla vẫn hiện đúng và ngược lại.
Tuy nhiên khi tự tạo một CSDL, đặt collation như của joomla, đồng thời nhập dữ liệu tại phpmysql và trong trang php có dùng encoding là utf-8 thì vẫn không hiện đúng tiếng Việt. Có lẽ các cao thủ cần phải ra tay cho XAMPP 1.62 với vấn đè tiếng việt trên localhost
TheHeTre viết 12:17 ngày 10/10/2018
Bạn nhập và xuất thông qua Form với cùng Charset! Đoạn script trên chưa xem kỹ nhưng không có vấn đề j. Chỉ là nhập data vào bằng phpMyAdmin và xuất ra bằng script có khác nhau charset và encoding thôi!
Bài liên quan
0