linux中往MySQL匯入含有中文的資料報錯

2021-10-06 16:46:53 字數 1973 閱讀 7803

報錯內容:error 1366 (hy000): incorrect string value: 『\xbf』 for column 『start_address』 at row 1

主要還是因為匯入的資料中含有中文的原因。嘗試了網上的多種方案,比如將格式改為gbk,gb2312都不行。後來是改為utf8最終可以了。當然還伴隨著一些其他配置。具體過程如下:

mysql> create table user_profile(userid varchar(100) not null,mobile_type varchar(30),mobile_system varchar(30),start_telecom varchar(20) character set utf8,network_type varchar(20) character set utf8,start_address varchar(120) character

set utf8,primary key(userid))

;

如果表建立好之後,已經存在資料了,字段格式就不好改了,如果表裡沒資料的話,還是刪掉重新建表,比較方便。

刪除**操作為mysql> drop table user_profile;

mysql>

set names 'utf8'

;mysql> alter database toutiao character set utf8;

設定好之後檢視一下mysql> show variables like '%char%';

以下幾個引數都程式設計utf8了

mysql> load data infile '/var/lib/mysql-files/db_user_info.csv' into table user_profile character set utf8 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'

;

保險起見我這裡也是用了character set utf8.不知去掉之後可不可以,為了減少不必要的麻煩,我這裡就帶著了

就成功啦可以正常地匯入資料啦

mysql> create table news_article_content(newsid varchar(100) not null,title varchar(100),content varchar(1000),create_t

ime date,resource varchar(100),content_type varchar(100),primary key(newsid))

新錶中並沒有指定utf8格式。

在匯入時使用地語句中有指定utf8格式。能夠成功匯入。

mysql> load data infile '/var/lib/mysql-files/db_news_info.csv' into table news_article_content character set utf8 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'

;

說明能否成功匯入的重點在於以下三步:

往MySQL中插入資料

1 使用asp.net畫出如下介面 2 圖一的 如下 using mysql.data.mysqlclient using system using system.collections.generic using system.linq using system.web using system....

如何往資料庫中快速匯入資料

sqlbulkcopy是.net的乙個類常用於批量插入資料,這種方式比insert方式效能要高許多。需要注意的是,datatable中的列需要與即將插入的表的列相容,名稱和資料庫的順序完全一致。樓主往日期型別插入空值時就遇到了乙個問題,那就是不能給這一列的設定null值,而是要通過不給其賦值的方式。...

Linux中mysql表的匯出匯入

一.表的匯入 1.進入資料庫 mysql 資料庫名 2.檢視表 show tables 3.匯入表 mysql u root 資料庫名 表名mysql uroot p database filename.sql注意 filename.sql最好加上路徑 二.表的匯出 1 匯出整個資料庫 mysqld...