终端访问数据库出现乱码

博客指出使用的字符编码设置不匹配会出现乱码,由于中文操作系统默认字符集是GB2312,要让输出窗口正常显示中文,需将其使用的字符编码改成GB2312。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用的字符编码设置不匹配就会出现乱码,因为中文操作系统默认字符集是GB2312,所以需要把输出窗口使用的字符编码改成GB2312才能够正常显示中文。

set character_set_results=gb2312;
### 配置和访问SQL Server数据库 #### 安装必要的依赖包 在欧拉操作系统上,首先需要确保已安装了用于连接SQL Server所需的工具。这通常涉及到`mssql-tools`以及`unixODBC`开发库。 ```bash sudo yum install -y https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm sudo ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel ``` 此过程会添加Microsoft仓库并安装最新的稳定版SQL Server命令行工具集[^1]。 #### 设置环境变量 为了让每次打开终端都能自动加载这些新安装的工具路径,建议修改用户的`.bashrc`文件来永久化设置: ```bash echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc && source ~/.bashrc ``` 这样可以保证无论何时启动shell都会包含上述路径下的可执行程序位置信息。 #### 连接到SQL Server实例 一旦完成了以上准备工作,则可以通过`sqlcmd`来进行基本的操作测试。对于本地部署的情况,默认情况下可以直接通过如下指令尝试登录验证是否成功建立通信链路: ```bash sqlcmd -S localhost -U sa -P '<YourStrong!Passw0rd>' ``` 请注意替换实际使用的管理员账户密码部分。 如果目标是非本机上的远程服务端口,则需调整-S参数后的地址为对应主机名或IP地址,并确认防火墙策略允许TCP流量经过默认1433端口号到达目的地。 #### 数据库字符编码处理 针对可能出现的数据传输过程中产生的乱码现象,特别是当源与目的两端存在不同区域设定时尤为明显。考虑到提到的具体场景——即从Windows Server迁移至另一相同版本但可能具有差异化的国际化属性配置的新环境中遇到中文显示异常的问题,在创建表结构定义阶段应当显式指定合适的排序规则(Collation),比如`Chinese_PRC_CI_AS`适用于简化汉字的支持[^2]。 另外一种解决方案是在应用程序层面做适配工作,确保客户端发送请求前已经正确设置了相应的NLS_LANG环境变量指向匹配的目标语言环境描述符,从而使得整个交互流程中的字符串表示形式保持一致性和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值