Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

utf8 bị cắt xén khi nhập vào mysql

Tôi nghĩ nó cũng có thể liên quan đến đối chiếu, nhưng tôi không chắc. Trong trường hợp của tôi, nó chắc chắn đã xảy ra, vì tôi phải hỗ trợ cyrillic.
Hãy thử điều này, hiệu quả với tôi:

  1. Đặt đối chiếu ban đầu trong khi tạo cơ sở dữ liệu đích thành utf8_general_ci

  2. Thêm SET NAMES 'utf8' COLLATE 'utf8_general_ci'; lên đầu tệp sql của bạn

  3. Chạy mysql -u root -p --default-character-set=utf8 yourDB < yourSQLfile.sql

Một điều nữa, để có được dữ liệu UTF-8 đúng cách trong cơ sở dữ liệu của bạn, bạn cũng sẽ phải sửa đổi chuỗi kết nối của mình. Ví dụ:

mysql.url=jdbc:mysql://localhost:3306/nbs?useJvmCharsetConverters=false&useDynamicCharsetInfo=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useEncoding=true

Ngoài ra, hãy xem vấn đề của tôi là gì đã.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP &mySQL:Năm 2038 Lỗi:Nó là gì? Làm thế nào để giải quyết nó?

  2. Lỗi MySQL 1118 (Kích thước hàng quá lớn) khi khôi phục cơ sở dữ liệu Django-mailer

  3. Tại sao kết quả của `select 'a' =0;` 1?

  4. MySQL TỐI ƯU hóa tất cả các bảng?

  5. Giữ các ký tự đặc biệt khi nhập vào mysql từ csv