ko ai nhập dữ liệu trực tiếp vào database.
dùng unicode trong mysql, database dùng collation latin1_swedish_ci
còn trong php, dùng bảng mã utf-8 có trong unikey.
ko ai nhập dữ liệu trực tiếp vào database.
dùng unicode trong mysql, database dùng collation latin1_swedish_ci
còn trong php, dùng bảng mã utf-8 có trong unikey.
1. tạo database collation : latin1_swedish_ci
2. import : chọn charset utf8
Bạn à. Bạn coi lại đi. Mình đã thử chọn trong database collation:latin1_swedish_ci không được. Chỉ có import từ form vào trong CSDL thì khi hiển thị không lỗi font, còn nhập trực tiếp vẫn bị lỗi. Có ai biết không vậy? Mình cũng đang gặp vấn đề này.Mong các bạn chỉ giúp. Gấp lắm.Help me!Thanks
Mình làm cách này và thành công:
Code:$conn = new mysqli("localhost", "user", "pass", "database"); $conn->query("SET NAMES 'utf8'"); $rs = $conn->query("SELECT * FROM table_name", MYSQLI_STORE_RESULT);
Các bạn quan tâm có thể xem:
http://www.ddth.com/showthread.php?t=183424
PHP MYSQL Unicode, nhập trực tiếp từ PHPMYADMIN hoặc không.
Thân mến.
Trang các comment bên trên thì dòng này
là quan trọng nhất.mysql_query("SET NAMES 'utf8'");
Nó cho phép nhập và lất dữ liệu từ DB theo đúng utf-8.
Các dữ liệu này vào database sẽ làthay vìà, ả, ạNhư thế một bàì viết Tiếng Việt dài tầm 3-4 trang A4. Nhập liệu bằng unicode sẽ nhẹ (size) hơn cho DB. Kkông biết mình nghĩ như thế đúng không?à, & #7843;, & #7841;
Hi Vũ,
Thực ra vấn đề DB lớn hay nhỏ trong chuyện này cũng không được tính đến, tuy nhiên em có thể thử view ở folder data trong mysql sẽ thấy kích thước nó khác nhau ra sao.
Điều các dev quan tâm là làm sao để nhập liệu Unicode từ PHPMYADMIN hoặc tương tự, như thế có thể giảm 1 chút thời gian khi phát triển từ front end trước (không làm ngược từ back end) khi dự án đã gấp.
Thân mến.
Không đúng thì phải.
Theo mình biết thì 1 ký tự kiểu Unicode sẽ chiếm 8 bytes bộ nhớ còn ký tự dạng ANSI chỉ mất 1 byte.
Vậy đoạn: "Chào các bạn" nếu mã hóa dạng Unicode sẽ lớn hơn mã hóa dạng ANSI là 5 bytes. Vậy 1 trang văn bản có nhiều ký tự Unicode sẽ lớn hơn khá nhiều nếu đựoc mã hóa dạng Unicode thay vì ANSI
vấn đề này cũng khá hay. mình sẽ tiếp tục nghiên cứu, giải trình sớm cho anh em.
Bạn nói cũng có lý. Nhưng 8byte bộ nhớ và 1byte bộ nhớ mà bạn nói mình có thể quy ra không gian lưu trữ không nhỉ?
Cụ thể là một trang html (tiếng Viêt) tạo bằng fontpage, rồi lưu ở dạng 'charset=windows-1252' sẽ to (file size) hơn nhiều (có khi gắp đôi) so với 'charset=utf-8'.
Mình đã thử một trang toàn text tiếng Việt, (ko chứa định dạng table, html) thì rõ ràng file với charset=utf-8 có size là 42.0kb file còn lại với charset=windows-1252 có size 70.9kb.
Như thế có vẻ utf-8 (hay Unicode) là có vẻ tốt hon không việc lưu trữ nhỉ
Bạn nói cũng có lý. Nhưng 8byte bộ nhớ và 1byte bộ nhớ mà bạn nói mình có thể quy ra không gian lưu trữ không nhỉ?
Cụ thể là một trang html (tiếng Viêt) tạo bằng fontpage, rồi lưu ở dạng 'charset=windows-1252' sẽ to (file size) hơn nhiều (có khi gắp đôi) so với 'charset=utf-8'.
Mình đã thử một trang toàn text tiếng Việt, (ko chứa định dạng table, html) thì rõ ràng file với charset=utf-8 có size là 42.0kb file còn lại với charset=windows-1252 có size 70.9kb.
Như thế có vẻ utf-8 (hay Unicode) là có vẻ tốt hon không việc lưu trữ nhỉ
Bạn nói cái đoạn charset trong quote trên hả? Nó chẳng liên quan gì đến Encode của file đó đâu. Nó chỉ làm 1 nhiệm vụ là thông báo cho browse biết mà decode file và hiển thị hợp lý thôi.Code:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Bookmarks