用C往MySql資料庫表中插入中文,顯示的全是問號

時間 2021-08-30 09:30:55

1樓:迦若青藍

commn = new mysqlcommand("set names gb2312", conn);

commn.executenonquery();

在執行語句之前執行這個

如何設定mysql的編碼?我向表中插入的中文資料,都是問號。。。 40

2樓:躺著

首先用dos檢視你資料庫現在的編碼格式(命令:mysql> status),然後用記事本開啟my.ini檔案,用記事本的替換,把你現在的編碼格式替換成utf8或者gb2312就行了

3樓:汪雄輝拉

需要設定成utf8或者gbk的編碼,同時表的編碼也必須是utf8或者gbk

修改方法:

修改my.cnf或者my.ini檔案,在【mysqld】和【client】下分別加上character-set-server=utf8(注意,5.

5版本以前是default-character-set=utf8),然後重啟mysql即可,

有問題可以追問

4樓:

插入的資料亂碼有很多原因:

1、你要檢查一下頁面的編碼和資料庫設定的字符集是否一樣,要麼都是utf8,要麼都是gbk的

2、如果第一點說的兩邊編碼是統一的,你可以在連結資料庫的時候加上mysql_query("set names utf8")

3、加上之後還是不行的話,在檢查你的頁面編碼,如果是utf8的話,請選擇沒有bom的utf8編碼

4、以上都沒問題的話,還出現亂碼的話,修改mysql的配置檔案,my.ini加上character-set-server=utf8,然後重啟mysql服務就可以了

一般出現亂碼的話,基本就是這些原因了

5樓:

mysql我還不懂,不過我在mssqlsever中也遇到過這樣的問題,折騰半天才解決。舉個例子在建立表的時候,含有中文的我用nvarchar不用varchar,並且在含有中文的資料之前加個大寫的n。如:

//建表

create table t_preson(id int not null,f_name nvarchar not null,f_age int not null)

//插入資料

insert into t_preson(id,f_name,f_age) values (1,n'小張',22);

我剛開始學資料庫,不知道我的方法對你有沒有用,如果回答的不對,請別噴我啊。

c#修改mysql中文變問號

6樓:

這個問題首先你要搞清楚到底是資料庫的問題還是你程式的問題。

測試一下,看看你在語句中的變數部分是不是亂碼,如果是前端的問題,那就試試一下方法

encoding utf8= encoding.utf8;

encoding defaultcode= encoding.default;

// convert the string into a byte.

byte utf8bytes = default.getbytes(utf8string );

// perform the conversion from one encoding to the other.

byte defaultbytes = encoding.convert(utf8, defaultcode, utf8bytes );

如果是資料庫的亂碼問題,那是建庫的時候的問題,可以採用一下方法

1 建立資料庫時候:指定字符集型別

create database haichen

character set 'gbk'

collate 'gbk_chinese_ci'; //注意這裡

2.建表的時候 也指定字符集

create table student (

id varchar(40) not null default '',

userid varchar(40) not null default ''

) engine=innodb default charset=gbk; // 注意這裡

要搞清楚亂碼的位置才能更好的解決問題

7樓:匿名使用者

你的檔案編碼是否為utf8 ,不是則轉換為utf8 ,先執行set names utf-8試試呢

8樓:匿名使用者

那就是你的c#字符集沒設對

連線字串charset設定為utf8沒?

9樓:天天好寶寶

這個您試過麼?加上charset=utf8

c#winform 從mysql中讀值中文,輸出結果為問號 50

10樓:匿名使用者

你在資料庫連線的時候有沒有定義字符集,也就是有沒有這句mysql_query("set names 'gbk'");

如果你加上後還是亂碼的話。看下頁面頭部有沒有定義字符集。

如果問題解決,請採納。

11樓:匿名使用者

應該是c#裡的亂碼問題.要設定

為什麼mysql的表記錄中有些中文顯示問號

12樓:

用utf-8

如果是資料庫來中有亂碼,就

源是錄bai

入資料時不是gb2312的。這du只能重新修zhi改記錄了。如果只dao想輸出時頁面正常顯示的話,那麼就採用和你頁面標準一直的編碼。

比如你頁面是gb2312的話,就如樓下說的mysql_query(set names gb2312);

如果頁面是utf-8就

mysql_query(set names utf8);

13樓:匿名使用者

這是來字符集不一致造成的。源

修改mysql的預設字符集是通過修改它的配置檔案來實現的。一般分兩種情況:

windows平臺

windows下的mysql配置檔案是my.ini,一般在c:windowsmy.ini或者c:winntmy.ini可 以直接在這個檔案裡面加上

default-character-set=gbk #或gb2312,big5,utf8

然後重新啟動mysql

service mysql restart 或 /etc/init.d/mysql restart

或用其他方法重新啟動,就生效了。

unix(linux)平臺

linux下的mysql配置檔案是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:

find / -iname my.cnf

在這個檔案裡面加上

default-character-set=gbk #或gb2312,big5,utf8

然後重新啟動mysql

net stop mysql

14樓:贏在心中

那是亂碼,建表的時候你可以指定編碼格式。

部分中文插入mysql資料庫變成問號,怎麼回事

15樓:尕小漂

1、檢查並修改mysql的my.ini的配置檔案。

default-character-set=utf82、建立資料庫是要指定字符集。

create database mydb default character set utf8 collate utf8_general_ci;

3、建立資料表示也要指定字符集。

create table if not exists `mydb` (

`username` varchar(64) not null,`userid` int(11) not null,) engine=innodb default charset=utf8;

16樓:拉果體

mysql只支援gb內的漢字吧,要輸入那些特殊的漢字用oracle11g

17樓:匿名使用者

我那邊有更詳細的答案推薦,hdp134793的csdn部落格

mysql資料庫插入中文記錄後變成問號,為什麼

18樓:匿名使用者

3碼合一,你提交的介面的內碼也要utf8

19樓:小土豆

把引擎換成mysiam

mysql插入的中文字元顯示為亂碼或問號怎麼辦

20樓:zha南京

mysql> show variables like 'character_set_%';

| variable_name | value |

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |

1 和儲存有關

character_set_server: 伺服器安裝時指定的預設字符集設定。

character_set_database: 資料庫伺服器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用伺服器安裝時指定的字符集設定。

character_system: 資料庫系統使用的字符集設定。

2 和傳輸有關

character_set_connection: 連線資料庫的字符集設定型別,如果php沒有指明連線資料庫使用的字符集型別就按照伺服器端預設的字元設定

character_set_results: 資料庫給客戶端返回時使用的字符集設定,如果沒有指明,使用伺服器預設的字符集

character_set_client: 客戶端使用的字符集,相當於網頁中的字符集設定

資料庫裡的漢字顯示在頁面上來全是問號 5

21樓:譚加巧

header('content-type:text/html;charset=utf-8')設定成gbk試試

22樓:安典龍

你將資料庫的連線地址設定成下面的格式

23樓:劉玉良鋼筋翻樣

ziti sdlkgjesvlsvbk;sd;gvszdvbak'v;''b;ed

c連線mysql插入資料執行成功但資料庫中沒有資料

最好就是你把這句插入語句在資料庫裡面執行一遍可不可行,以前也遇到過,提示也沒有錯誤,就是不行,其中符號打錯了 智者總要千慮 你應該用了spring配置式事務,被限制了修改了吧。如下面 propagation required propagation required propagation requ...

C插入資料庫,不能重複,怎麼防止資料庫中插入重複資料?

protected void submit click object sender,eventargs e 使用try 未出錯時執行的語句 catch exception ex 出錯是執行的語句finally 無論出錯與不出錯始終執行的語句用這個方法找找看是什麼問題,如果不好用最好把這段 抽成方法再...

myeclipse連線mysql資料庫中文亂碼問題

action是get還是post get的話好像頭部設定一下編碼方式就可以了 contenttype text html chartset gbk pageencoding gbk post的話在處理頁面寫上 request.setcharacterencoding gbk 實在不行就弄個filte...