docker k8s mysql 命令行 sql 不能输入中文

news/2024/10/21 9:38:48/

目录

  • 目标
  • 现象
  • 原因
  • 解决

目标

docker 容器中,通过 mysql -u name -p 的方式登录命令行终端后,可能会出现,在执行 sql 语句时,可能会出现无法输入中文字符的情况。

现象

update table_name set column_name = 'abc_姓名' where id = '1';

结果在终端只能输入为

update table_name set column_name = 'abc_' where id = '1';

原因

进入 deocker 容器,查询 locale ,可以看到系统使用的是POSIX字符集。
POSIX字符集是不支持中文的,而C.UTF-8是支持中文的,只要把系统中的环境 LANG 改为"C.UTF-8"格式即可解决问题。

root@yh:~# docker exec -it yh-mysql bash
root@5edc6da46079:/# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

解决

通过 env LANG=C.UTF-8 参数登入 docker 容器

root@yh:~# docker exec -it yh-mysql env LANG=C.UTF-8 /bin/bash
root@5edc6da46079:/# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

此时,正常登录 mysql后,执行含有中文的 sql 即可。

注意:这样修改只是临时修改。要永久修改,需要在创建容器时在dockerfile中设置。
K8s进入pod不能输入中文 也可用此方法解决。


http://www.ppmy.cn/news/1538475.html

相关文章

Sentinel最全笔记,详细使用步骤教程清单

一、Sentinel的基本功能 1、流量控制 流量控制在网络传输中是一个常用的概念,它用于调整网络包的发送数据。然而,从系统稳定性角度考虑,在处理请求的速度上,也有非常多的讲究。任意时间到来的请求往往是随机不可控的,…

计算机视觉学习笔记--高斯金字塔,DoG金字塔和拉普拉斯金字塔附带代码

尺度空间和图像金字塔 尺度并非指图像的大小,而是指图像的模糊程度,从近距离到远距离图像越来越模糊的过程,也是图像的尺度越来越大的过程。尺度空间是图像在不同尺度下的连续表示。其中最常见的是使用高斯核对图像进行卷积。随着高斯滤波核…

【QT Quick】C++交互:暴露 C++ 对象到 QML

【QT Quick】C交互:暴露 C 对象到 QML 在 Qt Quick 开发中,使用 Context Property 将 C 对象暴露给 QML 是一种直观有效的方式。这种方法允许我们直接在 QML 中访问 C 对象的属性和方法,而无需使用信号和槽。这篇文章将详细展开如何通过 Con…

Excel重新踩坑1:加密保护工作簿、编辑保护工作簿、编辑保护工作表、允许编辑区域;填充柄;同时编辑多个单元格为同一个值

0、工作簿和工作表的概念: 一个Excel文件就是一个工作簿,工作簿当中有很多工作表,每个工作表中有很多单元格构成。 1、加密保护工作簿:全部保护起来 给工作簿设置密码,需要密码才能打开工作簿,看到其中的…

力扣面试150 最大正方形 二维DP 记忆化搜索 DFS

Problem: 221. 最大正方形 &#x1f468;‍&#x1f3eb; 参考题解 class Solution {public int maximalSquare(char[][] matrix) {// base condition: 如果矩阵为空&#xff0c;直接返回面积为 0if (matrix null || matrix.length < 1 || matrix[0].length < 1) {re…

阿里云的Qwen2.5-Coder 和 Qwen2.5-Math专有模型怎么样?

阿里云发布Qwen2.5 系列模型&#xff0c;最新发布的 Qwen2.5 系列中包括普通的大语言模型 (LLM) 以及针对编程和数学的专用模型&#xff1a;Qwen2.5-Coder 和 Qwen2.5-Math。 包括&#xff1a; Qwen2.5: 0.5B、1.5B、3B、7B、14B、32B 和 72BQwen2.5-Coder: 1.5B、7B 和 32B&…

【云从】三、计算机网络基础

文章目录 1、网络2、网络通信2.1 IP地址2.2 子网掩码2.3 网关2.4 私有地址和公有地址2.5 NAT网络地址转换 3、网络架构及设备 1、网络 网络&#xff0c;即通过通信线路&#xff08;如光纤、网线&#xff09;和通信设备&#xff08;如路由器、光猫&#xff09;&#xff0c;将各…

Python大数据学习之Hadoop学习——day08_hive函数

一.hive查询 语法结构&#xff1a; SELECT [ALL | DISTINCT] 字段名&#xff0c;字段名,... FROM 表名 [inner | left outer | right outer | full outer | left semi join 表名 on 关联条件] [where 非聚合条件] [GROUP BY 分组字段名] [HAVING 聚合条件] [ORDER BY 排序字段…