1. 程式人生 > >SELECT的結果中出現"亂碼"的解決方案--【葉子】

SELECT的結果中出現"亂碼"的解決方案--【葉子】

--測試資料
declare @table table (colname varchar(8))
insert into @table
select '微•博' union all
select '團•購' union all
select '裸•婚' union all
select '火•星•文' union all
select '非•主•流'

--檢視結果
select * from @table
/*
colname
--------
微?博
團?購
裸?婚
火?星?文
非?主?流
*/

--然後我們把上面的varchar改成nvarchar,再試一試
declare @tableA table (colname nvarchar(8))
insert into @tableA
select '微•博' union all
select '團•購' union all
select '裸•婚' union all
select '火•星•文' union all
select '非•主•流'

--檢視結果
select * from @tableA
/*
colname
--------
微?博
團?購
裸?婚
火?星?文
非?主?流
*/
--還是不行,然後我們在字元的前面加上N
declare @tableB table (colname nvarchar(8))
insert into @tableB
select N'微•博' union all
select N'團•購' union all
select N'裸•婚' union all
select N'火•星•文' union all
select N'非•主•流'

--檢視結果
select * from @tableB
/*
colname
--------
微•博
團•購
裸•婚
火•星•文
非•主•流
*/

--這回就正常了。
/*
如果是varchar型別的,加上N也不好使的。
那麼這個N是幹什麼用的呢?
字串引數值的前面有一個大寫的N,它的含義是表明後面引號裡的字串是unicode。

總結一下:
1、類似問題就是要保證列的型別是nvarchar;
2、插入資料的時候保證資料是unicode的。
這樣就不會顯示莫名其妙的問號了。
*/

 

相關推薦

SELECT結果出現"亂碼"的解決方案--葉子

--測試資料 declare @table table (colname varchar(8)) insert into @table select '微•博' union all select '團•購' union all select '裸•婚' union all s

MSSQL 用SQL語句求某文章出現關鍵詞的個數--葉子

                一、介紹最近csdn論壇有人問我這樣一個問題,說有一篇文章存在資料庫中,然後有三個關鍵詞,說是存取文章資訊的時候,返回關鍵詞的個數。故有此文。以供大家參考。 二、sql語句DECLARE @article varchar(4000),@keyword_One varchar(3

jsp頁面url傳參到後臺出現亂碼解決方案

在使用get方式URL中傳遞中文,到後臺會出現亂碼的情況。中文字元變為"?" 如:我的jsp頁面程式碼為:<a href="${_currConText}/lhRanking/ranking.do?investors_code=${inves.investors_co

Web專案前端頁面通過URL傳中文或 # 特殊字元到後臺出現亂碼解決方案

      對於剛入行新手來說碰到URL傳遞中文資料到後臺出現亂碼或是傳遞包含特使符號‘#’後端獲取不到的情況是比較頭疼的事,這裡我就告訴你這兩個的解決的方式;        1.URL傳遞中文     前端頁面:中文字串用 encodeURI(encodeURI(

php寫入數據到mysql數據庫出現亂碼解決方法

names .com http image alt ima utf8 情況 mysql 亂碼情況: 在選擇數據庫前加入一句代碼即可 mysql_query("set names utf8"); 最後效果 php寫入數據到mysql數據庫中出現亂碼解決方法

關於出現Not an editor command: Bundle '**/*.vim'的解決方案

spa log ces ret 運行 uname column clas 由於 轉自:https://blog.csdn.net/YHM07/article/details/49717933 操作系統: $ uname -r 2.6.32-573.7.1.el6.x8

LoadRunner接口HTTP請求中文亂碼解決方案

空格 con value 發送 nbsp toe string ner 字符串 今天項目經理要求壓一下實時代扣接口性能。那就開始寫腳本,腳本寫好調試發現接口請求參數姓名輸入中文亂碼。接著就網上找資料解決該問題。 1:想法:將中文轉成UTF-8,lr_convert_stri

idea操作mysql數據庫添加漢字時出現亂碼解決方案

http nco har 一個 技術分享 格式 出現 clas 操作mysql 首先 然後 最後 在連接數據庫後面加一個指定編碼格式 編碼格式: characterEncoding=UTF-8    idea操作mysql數據庫添加漢字時出現亂碼解決方案

hive文字符亂碼 解決方法

為我 如果 mysql blog res mys shake 如何 color 一.個人初始開發環境的基本情況以及Hive元數據庫說明 ①hive的元數據庫改成了mysql(安裝完mysql之後也沒有進行其它別的設置) ②hive-site.xml中設置元數據庫對應的配

iOS webView展示部分docx出現亂碼解決方案

專案中遇到預覽docx和pdf要求: 在開發過程中webView支援預覽pdf和docx,so直接使用webView,但在後期測試階段發現部分docx預覽時為亂碼現象, 查詢方案發現編碼utf-8以及GBK等都無法解決亂碼問題。 後發現如下方案能做修改: con

Safari瀏覽器顯示PHP檔案中文出現亂碼解決方案

首先應確認PHP程式碼中使用的編碼都是統一的。 <pre name="code" class="php"><?php $conn=mysql_connect("localhost","root","") or die("資料庫伺服器連線錯誤".my

js檔案的中文提示資訊發到jsp出現亂碼解決步驟

.js檔案建立預設是gbk編碼,該js檔案中如果有中文,在utf-8的jsp頁面中,顯示改中文,為亂碼! 解決方法: 1--將原來.js檔案中的內容全部複製到剪貼簿中; 2--修改js檔案的編碼格式為utf-8; 3--將剪貼簿中的內容黏貼到原來的js檔案覆蓋原有內

spring boot 操作資料庫出現亂碼解決方案

spring boot 操作資料庫,出現亂碼解決方法: 在配置資料庫地址的程式碼後加上:?useUnicode=true&amp;characterEncoding=UTF-8    如jdbc.properties配置檔案:    db.url=jdbc:mys

Git服務器安裝詳解及安裝遇到問題解決方案

bsp erb 倉庫 .... gnu libcurl 執行 body ebs 轉自:http://www.cnblogs.com/grimm/p/5368777.html git是一個不錯的版本管理的工具。現在自己在搞一個簡單的應用程序開發,想使用git來進行管理。

(通用)Android App代碼混淆終極解決方案

rar $$ enable 知識 object ava write android ref App雖然沒有那麽的高大上,但是代碼的混淆是代表了程序員對App的責任心, 也是對App安全的一點點保證。今天我會將自己做Android混淆的過程和體會分享給大家,也避免大家少走彎路

記憶體溢位和記憶體洩漏的區別、產生原因以及解決方案

(轉自:https://www.cnblogs.com/Sharley/p/5285045.html) 記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory;比如申請了一個integer,但給它存了long才能存下的數,那就

乾貨 | Elasticsearch 叢集健康值紅色終極解決方案

題記 Elasticsearch當清理快取( echo 3 > /proc/sys/vm/drop_caches )的時候,出現 如下叢集健康值:red,紅色預警狀態,同時部分分片都成為灰色。  檢視Elasticsearch啟動日誌會發現如下: 叢集服務超時連線的情況。 bserver: timeou

Hadoop叢集datanode磁碟不均衡的解決方案

一、引言: Hadoop的HDFS叢集非常容易出現機器與機器之間磁碟利用率不平衡的情況,比如叢集中新增新的資料節點,節點與節點之間磁碟大小不一樣等等。當hdfs出現不平衡狀況的時候,將引發很多問題,比如MR程式無法很好地利用本地計算的優勢,機器之間無法達到更好的網路頻寬使用率,機器磁碟無法利用等等。 二、問題

Linux隨筆 - linux 多個會話同時執行命令後history記錄不全的解決方案轉發

tap 博文 end -s mef 內容 bin %s 命令 基本認識linux默認配置是當打開一個shell終端後,執行的所有命令均不會寫入到~/.bash_history文件中,只有當前用戶退出後才會寫入,這期間發生的所有命令其它終端是感知不到的。 問題場景那麽問題來了

Linux(Ubuntu)無法調節亮度的解決方案1(還原Fn組合鍵調節方法

原文:https://itsfoss.com/fix-brightness-ubuntu-1310/ 首先,確保你的膝上型電腦僅有Intel核心顯示卡 Step1 執行以下命令 ls /sys/class/backlight/ 如果是類似這樣,前面是筆記本品牌之類的代號,