Windows中文編碼顯示問題集錦

1)控制臺中文亂碼 解決方案

站在用戶的角度思考問題,與客戶深入溝通,找到漢中網(wǎng)站設(shè)計與漢中網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋漢中地區(qū)。

問題根源

    中文顯示亂碼的原因是控制臺設(shè)置的編碼格式,如果控制臺設(shè)置的編碼格式是GBK,數(shù)據(jù)庫的存儲內(nèi)容是UTF-8,當(dāng)然無法正常顯示

解決方案

    1)啟動CMD,查看當(dāng)前的字符集編碼,使用指令chcp

Active code page:65001 :UTF-8編碼

活動代碼頁:936 :GBK編碼

注意:很多用戶希望能夠在控制臺下輸入中文,必須使用指令chcp 936,切換到GBK編碼格式,才能夠正常輸入

    2)目前查看UTF-8編碼的數(shù)據(jù)庫文件,使用指令chcp 65001,切換到UTF-8編碼字符集

    3)進入到sqlite.exe程序的目錄,啟動sqlite.exe,這個時候正常顯示UTF-8數(shù)據(jù)庫內(nèi)容

    4)如果數(shù)據(jù)庫內(nèi)容是GBK編碼,可以使用chcp 936。

2)VS調(diào)試:字符串中的字符無效

場景

網(wǎng)絡(luò)發(fā)送過來的報文是utf-8編碼的Json數(shù)據(jù),其中保存有中文。使用Jsoncpp解析的時候單步調(diào)試獲取到的變量,在獲取包含中文變量的時候,查看std::string字符串變量,提示;字符串中的字符無效

解析

VS高版本新加的功能,如果字符串中包含有非打印字符,或者utf8編碼,調(diào)試器自動顯示:字符串中的字符無效。在這里被誤導(dǎo)過,以為Jsoncpp無法正確解析utf-8編碼的格式,其實Jsoncpp已經(jīng)解析出內(nèi)容,只是無法在這種情況下顯示中文,必須是GBK編碼才行

歷程

std::string strName = root["name"].asString(); //name里面的中文字符:風(fēng)雨在途

這個時候定位到strName,提示字符串中的字符無效

解決

將strName添加監(jiān)視,在名稱strName之后,添加,s8,就可以正常顯示了

例子

名稱                    值

strName,s8 風(fēng)雨在途

名稱欄目:Windows中文編碼顯示問題集錦
網(wǎng)址分享:http://muchs.cn/article0/gdsiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作營銷型網(wǎng)站建設(shè)、外貿(mào)建站搜索引擎優(yōu)化、動態(tài)網(wǎng)站

廣告

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

網(wǎng)站優(yōu)化排名