Datagrip連線SQLserver表中出現中文亂碼解決方案
Datagrip版本: 2020.3
Sqlserver版本: 2019 for docker
從網上搜尋了很多方案都說是Datagrip顯示字型的問題,結果更改後發現並不能解決問題,於是嘗試將表中列的資料型別由 char、varchar 切換為 nvarchar , 在執行 insert into 語句時在資料之前加上 N , 發現在檢視錶時中文就顯示正常了。
示例:
insert into student
values('200515004', N'張衡', N'男', 18, 'IS');
那到底為什麼會中文亂碼呢?
究其原因,是因為在建立 SQLserver 資料庫時未指定排序字符集,Databases則會使用instances的排序規則.
為了支援中文,需要設定成Chinese_PRC_CI_AS.
使用SQL語句實現:
ALTER DATABASE 資料庫名 COLLATE Chinese_PRC_CI_AS
若出現操作報錯的情況,則是因為出現資料庫被其他使用者連線使用時,出現排他鎖的錯誤。此時用SQL語句修改資料庫為單使用者模式——改排序規則——再修改回多使用者。
由於之前建立資料庫忘記了設定Collocation,資料庫中插入中文字元都是亂碼,於是到DataBase的Options中修改Collocation,出現了 The database could not be exclusively locked to perform the operation 這個錯誤,無法修改字符集為Chinese_PRC_90_CI_AS.
解決方案:
①修改為單使用者模式
ALTER DATABASE 資料庫名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
②修改資料庫字符集
ALTER DATABASE 資料庫名 COLLATE Chinese_PRC_90_CI_AS
③修改為多使用者模式
ALTER DATABASE 資料庫名 SET MULTI_USER
相關文章
- 解決ssh連線CentOS後中文顯示亂碼CentOS
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- Linux終端中文菱形亂碼解決方案Linux
- navicat for mysql顯示中文亂碼解決方案MySql
- css中文字型亂碼解決方案CSS
- MySQL解決中文亂碼MySql
- 使用Kettle抽取資料時,出現中文亂碼問題解決方案
- Zabbix圖表顯示中文亂碼解決辦法
- ROS中解決中文亂碼ROS
- 解決中文亂碼問題
- request/response解決中文亂碼
- LoadRunner中文出現亂碼的解決辦法
- C# 解決httplistener querystring 中文亂碼、返回json中文格式亂碼C#HTTPJSON
- Spring MVC 中文編碼亂碼解決SpringMVC
- 解決Tomcat視窗中文亂碼Tomcat
- springmvc 解決中文亂碼問題SpringMVC
- MySql中文亂碼問題解決MySql
- 解決 SecureCRT 和 SecureFX 中文亂碼Securecrt
- Jmeter 解決中文亂碼問題JMeter
- Dbvisualizer9.0.6 解決中文亂碼
- java實現瀏覽器下載附件時檔名中文亂碼解決方案Java瀏覽器
- whisper v3 finetune 中文亂碼問題的解決方案
- vscode中文亂碼怎麼解決 vscode輸出亂碼怎麼解決VSCode
- cat中文正常vim中文亂碼怎麼解決?
- matplotlib 圖示 中文亂碼, 與 wordcloud 詞雲圖 中文亂碼 解決方法Cloud
- AndroidStudio Build Output亂碼解決方案AndroidUI
- excel表格中出現亂碼怎麼辦?Excel
- js解決url中文亂碼問題JS
- 解決plsql中中文亂碼問題SQL
- Python:Python中文寫入csv檔案出現亂碼問題的解決方案之一Python
- Sqlserver修改連線密碼SQLServer密碼
- idea中文註釋出現亂碼,我靠自己解決了Idea
- Oracle 生僻字亂碼解決方案Oracle
- ubuntu中文顯示亂碼解決辦法Ubuntu
- centos7 vim中文亂碼解決方法CentOS
- phantomjs截圖中文亂碼問題解決JS
- 如何解決表單提交的中文亂碼問題
- SpringBoot整合Redis亂碼原因及解決方案Spring BootRedis