nosql+中文亂碼解決,SQL中文亂碼

“Sql server”出現(xiàn)中文亂碼怎么辦?

如果SQL Server 系統(tǒng)排序規(guī)則為"SQL_Latin1_General_CP1_CI_AS",那么數(shù)據(jù)庫及數(shù)據(jù)庫字段排序規(guī)則都默認(rèn)為"SQL_Latin1_General_CP1_CI_AS",如果字段為varchar,插入中文,數(shù)據(jù)庫顯示為"?",且數(shù)據(jù)無法修復(fù)。解決辦法如下:\x0d\x0a1。 修改字段排序規(guī)則為"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入語句中,中文字符前加"N",可以插入中文字符。\x0d\x0a2。 修改數(shù)據(jù)庫排序規(guī)則為"Chinese_PRC_CI_AS",字段保持varchar,SQL語句不變,插入中文失敗,查看字段屬性后發(fā)現(xiàn),字段排序規(guī)則實(shí)際上沒有變化,還是默認(rèn)為"SQL_Latin1_General_CP1_CI_AS",再修改字段排序規(guī)則,varchar不變,SQL不變,可以插入中文字符。\x0d\x0a總結(jié):\x0d\x0a1。 修改系統(tǒng)排序規(guī)則沒有試過。\x0d\x0a2。 修改數(shù)據(jù)庫排序規(guī)則不會(huì)把數(shù)據(jù)庫中字段的排序規(guī)則改掉,但是為了顯示中文,數(shù)據(jù)庫排序規(guī)則必須改。\x0d\x0a3。 僅僅修改字段排序規(guī)則,還不能完全解決問題。

創(chuàng)新互聯(lián)建站長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為樊城企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,樊城網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

mysql中文亂碼

MySQL會(huì)出現(xiàn)中文亂碼的原因不外乎下列幾點(diǎn):

1.server本身設(shè)定問題。

2.table的語系設(shè)定問題(包含character與collation)

3.客戶端程式(例如php)的連線語系設(shè)定問題強(qiáng)烈建議使用utf8。utf8可以兼容世界上所有字符!

一、避免創(chuàng)建數(shù)據(jù)庫及表出現(xiàn)中文亂碼和查看編碼方法

1、創(chuàng)建數(shù)據(jù)庫的時(shí)候:CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

2、建表的時(shí)候 CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

這2個(gè)設(shè)置好了,基本就不會(huì)出問題了,即建庫和建表時(shí)都使用相同的編碼格式。

但是如果已經(jīng)建了庫和表可以通過以下方式進(jìn)行查詢。

1.查看默認(rèn)的編碼格式:

mysql show variables like "%char%";

+--------------------------+---------------+

| Variable_name | Value |

+--------------------------+---------------+

| character_set_client | gbk |

| character_set_connection | gbk |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | gbk |

| character_set_server | utf8 |

| character_set_system | utf8 |

+--------------------------+-------------+

注:以前2個(gè)來確定,可以使用set names utf8,set names gbk設(shè)置默認(rèn)的編碼格式;

執(zhí)行SET NAMES utf8的效果等同于同時(shí)設(shè)定如下:

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

2.查看test數(shù)據(jù)庫的編碼格式:

mysql show create database test;

+------------+------------------------------------------------------------------------------------------------+

| Database | Create Database |

+------------+------------------------------------------------------------------------------------------------+

| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |

+------------+------------------------------------------------------------------------------------------------+

3.查看yjdb數(shù)據(jù)庫的編碼格式:

mysql show create table yjdb;

| yjdb | CREATE TABLE `yjdb` (

`sn` int(5) NOT NULL AUTO_INCREMENT,

`type` varchar(10) NOT NULL,

`brc` varchar(6) NOT NULL,

`teller` int(6) NOT NULL,

`telname` varchar(10) NOT NULL,

`date` int(10) NOT NULL,

`count` int(6) NOT NULL,

`back` int(10) NOT NULL,

PRIMARY KEY (`sn`),

UNIQUE KEY `sn` (`sn`),

UNIQUE KEY `sn_2` (`sn`)

) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

二、避免導(dǎo)入數(shù)據(jù)有中文亂碼的問題

1:將數(shù)據(jù)編碼格式保存為utf-8

設(shè)置默認(rèn)編碼為utf8:

set names utf8;

設(shè)置數(shù)據(jù)庫db_name默認(rèn)為utf8:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

設(shè)置表tb_name默認(rèn)編碼為utf8:

ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

導(dǎo)入:

LOAD DATA LOCAL INFILE 'C:\\utf8.txt' INTO TABLE yjdb;

2:將數(shù)據(jù)編碼格式保存為ansi(即GBK或GB2312)

設(shè)置默認(rèn)編碼為gbk:

set names gbk;

設(shè)置數(shù)據(jù)庫db_name默認(rèn)編碼為gbk:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

設(shè)置表tb_name默認(rèn)編碼為gbk:

ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

導(dǎo)入:

LOAD DATA LOCAL INFILE 'C:\\gbk.txt' INTO TABLE yjdb;

注:1.UTF8不要導(dǎo)入gbk,gbk不要導(dǎo)入U(xiǎn)TF8;

2.dos下不支持UTF8的顯示;

三、解決網(wǎng)頁中亂碼的問題

將網(wǎng)站編碼設(shè)為 utf-8,這樣可以兼容世界上所有字符。

如果網(wǎng)站已經(jīng)運(yùn)作了好久,已有很多舊數(shù)據(jù),不能再更改簡體中文的設(shè)定,那么建議將頁面的編碼設(shè)為 GBK, GBK與GB2312的區(qū)別就在于:GBK能比GB2312顯示更多的字符,要顯示簡體碼的繁體字,就只能用GBK。

1.編輯/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;

2.在編寫Connection URL時(shí),加上?useUnicode=truecharacterEncoding=utf-8參;

3.在網(wǎng)頁代碼中加上一個(gè)"set names utf8"或者"set names gbk"的指令,告訴MySQL連線內(nèi)容都要使用utf8或者gbk。

Sql server出現(xiàn)中文亂碼怎么辦

方法/步驟 1登陸“Microsoft SQL Server Management Studio”,然后選擇對應(yīng)的數(shù)據(jù)庫的屬性,打開屬性標(biāo)簽。 2找到編碼屬性“collation”,然后修改為本地編碼即可 3亂碼問題得到解決。

文章名稱:nosql+中文亂碼解決,SQL中文亂碼
文章分享:http://muchs.cn/article20/phedco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、用戶體驗(yàn)、標(biāo)簽優(yōu)化、面包屑導(dǎo)航全網(wǎng)營銷推廣、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營