
一、转码失败
在数据写入到表的过程中转码失败,数据库端也没有进行恰当的处理,导致存放在表里的数据乱码。
针对这种情况,前几篇文章介绍过客户端发送请求到服务端。
其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。
比如下面简单一条语句:
set @a = "文本字符串"
insert into t1 values(@a)
变量 @a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 @a 的编码。
2. 写入语句在发送到 MySQL 服务端之前的编码由 CHARACTER_SET_CONNECTION 决定,假设此时编码为 B。
3. 经过 MySQL 一系列词法,语法解析等处理后,写入到表 t1,表 t1 的编码为 C。
那这里编码 A、编码 B、编码 C 如果不兼容,写入的数据就直接乱码。
二、客户端乱码
表数据正常,但是客户端展示后出现乱码。
这一类场景,指的是从 MySQL 表里拿数据出来返回到客户端,MySQL 里的数据本身没有问题。客户端发送请求到 MySQL,表的编码为 D,从 MySQL 拿到记录结果传输到客户端,此时记录编码为 E(CHARACTER_SET_RESULTS)。
那以上编码 E 和 D 如果不兼容,检索出来的数据就看起来乱码了。但是由于数据本身没有被破坏,所以换个兼容的编码就可以获取正确的结果。
这一类又分为以下三个不同的小类:
1)字段编码和表一致,客户端是不同的编码
比如下面例子, 表数据的编码是 utf8mb4,而 SESSION 1 发起的连接编码为 gbk。那由于编码不兼容,检索出来的数据肯定为乱码。
2)表编码和客户端的编码一致,但是记录之间编码存在不一致的情形
比如表编码是 utf8mb4,应用端编码也是 utf8mb4,但是表里的数据可能一半编码是 utf8mb4,另外一半是 gbk。那么此时表的数据也是正常的,不过此时采用哪种编码都读不到所有完整的数据。这样数据产生的原因很多,比如其中一种可能性就是表编码多次变更而且每次变更不彻底导致(变更不彻底,我之前的篇章里有介绍)。举个例子,表 t3 的编码之前是 utf8mb4,现在是 gbk,而且两次编码期间都被写入了正常的数据。
3)每个字段的编码不一致,导致乱码和第二点一样的场景。不同的是:非记录间的编码不统一,而是每个字段编码不统一。举个例子,表 c1 字段 a1,a2。a1 编码 gbk,a2 编码是 utf8mb4。那每个字段单独读出来数据是完整的,但是所有字段一起读出来,数据总会有一部分乱码。
三、LATIN1
还有一种情形就是以 LATIN1 的编码存储数据
估计大家都知道字符集 LATIN1,LATIN1 对所有字符都是单字节流处理,遇到不能处理的字节流,保持原样,那么在以上两种存入和检索的过程中都能保证数据一致,所以 MySQL 长期以来默认的编码都是 LATIN1。这种情形,看起来也没啥不对的点,数据也没乱码,那为什么还有选用其他的编码呢?原因就是对字符存储的字节数不一样,比如 emoji 字符 "❤",如果用 utf8mb4 存储,占用 3 个字节,那 varchar(12) 就能存放 12 个字符,但是换成 LATIN1,只能存 4 个字符。
极品飞车5没有中文版只能给你个中英文对照
说明:按照键盘游戏玩家会用到的,进行了对照。至于方向盘及高级手柄玩家,在游戏设置(OPTION)里还有其他多项具体设置,这里就不列出了……
A:车手ID界面
SELECT USER 选择玩家
create player 创建ID
remove 删除ID
continue继续(使用所选择ID)
B:主界面
singleplayer单人游戏
multiplayer多人游戏
factory driver...试车厂模式
evolution...生涯模式
porsche chronicle...保时捷历史(免CD玩家不要点此项,会使游戏非正常退出)
load game载入游戏(重新选用ID,重新载入SAVE文件)
load replay 载入回放
credit
back 回上一界面
race进入游戏(开始)
option 选项
exit 退出游戏
C:单人游戏选项
difficulty 难度
beginner 初学者
advanced 上手级
expert 专家级
quick race...
单纯竞速,可选用14条赛道中的任一条;
quick knockout...
可选用蒙特卡洛赛道中的任一条,有几辆车开几圈,每圈淘汰最慢的一辆。玩家被淘汰则失败
knockout...
可选用九条欧洲点对点赛道,可自己编辑,每赛淘汰最慢一辆车。
D:单人模式界面
car 车型
garage 车库
setting 设置 (游戏普通设置,非车辆调校)
car compare 车型比较
location 赛道
location setup... 赛道设置
oppolents 对手
same car 同一车型
same era 同一时代
same class 同一级别
same era/class 同一时代或级别
random car 随机车型
E:普通设置
transmission 传动方式
manual手动档
auto自动档
ABS
traction control
roof 车篷
damage 损坏
F:赛道设置
location 赛道
direction 方向
traffic 交通
lap 圈数 (1—8LAPS) (只有蒙特卡洛赛道可以设置圈数)
records... 记录
G:direction 方向
forward 正向
backward 反向
forward/mirrored 正向镜象
backward/mirrored 反向镜象
H:traffic 交通
none 无
light 轻微
medium 中等
heavy 重度 (实际上也没几辆车)
I:试车厂模式
done 接受任务
map 任务示意图
setting 设置
briefing 任务简介 (纯英文)
J:生涯模式界面
car 车
garage... 车库
event type 赛事类型
event 赛事
race info... 比赛信息
L:race info... 比赛信息
info... 比赛信息(赛道)
practice run 试车
repair 修车
K:车库界面 (生涯模式)
account 账户
car 当前车辆
new cars... 新车 (单人模式无此项)
used cars... 二手车 (单人模式无此项)
sell 卖出车辆 (单人模式无此项)
setting 设置
repair 修车 (单人模式无此项)
car setup 车辆调校
parts 购买配件 (单人模式无此项)
paint shop 喷漆车间
M:打了车库补丁后多出的五个选项
forward 去下一年
backward 回到上一年
add 加50000金钱
new cars... 可买所有新车
used cars... 可买所有二手车
N:买车界面
car 车型
color 颜色
interior 内饰
buy 买
test drive 试驾
showcase... 详细数据信息
car compare... 车辆比较
O:车辆调校界面 (最重要的)
test drive 试车
save 保存调校数据
load 载入调校数据
default 载入默认数据
shocks.ride height 底盘高度 此项通常调到最左
shocks.stiffness 此项通常调到最右
shocks.travel 此项通常调到最右
sterring.toe in 内束 此项通常调到最右,75年和78年的930,最多只能调到80%
brake balance 刹车平衡
down force 下压力 前部下压力一般设为0
tire presure 胎压 前胎压一般为45。后胎压,GT1和993在39-44,其他车型在43-45范围中
gear 后部(尾部)
front 前部
gear ratio 齿轮比 (只有竞赛车型才可以调齿轮比)
1st
2nd
3rd
4th
5th
6th
reverse 倒车档
final 主传动档 (此项最重要,一般设为-0.50)
竞赛车型:
550ASpyder
78 935 mobydick
98 GT1
GT2
GT3
P:选项菜单
option 选项
audio 音频
controllers 控制器
cameras 视角
display 游戏细节
Q:controllers 控制器
accelerate 加速、油门
brake 刹车
hand brake 手刹
steer left 左转
steer right 右转
shift up 升档
shift down 降档
reset cars 车辆复位
cameras 视角转换
R:display 游戏细节(仅列出三项,快车如GT1之类应采用数据式速度表)
speed meter 速度表
speed units 速度单位
tachometer 转速表
digital 数据式
analog 模拟式
S:993配件(只写最佳配件,全配件参看 yzqpeter发的帖子,太难找了,让他自己链接上来吧)
'95 993配件表('00 996基本相同)
ENGINE 引擎
Lightened Flywheel 轻质飞轮
Big Bore Throttle Body 大型火花塞
High Flow Fuel Injector 高速燃油喷嘴
Super light Flywheel 超轻质飞轮
Replacement ECU 电脑升级芯片
High Butterfly Intake System 蝶式高速进气系统
High Performance Exhaust System 高速排气管
3.6L Turbo Engine 3600CC涡轮引擎
Twin-Turbo Stage 2 Kit 第二代涡轮增压器
50% Larger Intercooler 大型冷却器
BRAKES 刹车套件
Professional Racing Brake Package 比赛专用刹车套件
TRANSMISSION 变速箱
Standard 6 Speed Gearbox 标准6速变速箱
High Speed Gearbox 高速变速箱
SUSPENSION 悬挂系统
Professional Racing Springs 比赛专用悬挂系统
SHOCKS 减震系统
Professional Racing Shocks 比赛专用减震器
WEIGHT REDUCTION 减轻重量系统
Whale-Tail 鲸翼
GT2 Engine Lid GT2型尾翼
Carbon Fiber Hood 碳纤维引擎盖
Carbon Fiber Doors 碳纤维车门
Carbon Fiber Quarter panels 碳纤维仪表盘
SWAYBARS 防撞杆
Extra Stiff Sway Bars 加硬防撞杆
TIRES 轮胎
Slicks 干胎
科技名词定义 中文名称: 额 英文名称: fronsfrontéforehead 定义1: 头壳两个颊区与唇基之间的部分。 所属学科: 古生物学(一级学科);古无脊椎动物学(二级学科);节肢动物门(三级学科) 定义2: (1)头部位于蜕裂线侧臂之间的不成对骨片。(2)头部位于两个颊区及唇基之间的骨片。 所属学科: 昆虫学(一级学科);昆虫外部形态(二级学科) 定义3: 耳穴。在对耳屏外侧面的前部。 所属学科: 中医药学(一级学科);针灸学(二级学科);耳穴名称和头皮穴线名称(三级学科) 为英语e的汉字近音而成。 表示短时间想不出回答的话语而正在进行思考, 或者对于对方说的内容感到错愕、惊诧等发出的感叹。 一般以“e”代替,后演变为“额”或“呃”(也可能表示“无语”、“倒”的意思)。 基本字义 1. 人脸头发以下、眉毛以上的部分,或某些动物头部大致与此相当的部位(俗称“脑门子”):~头。~角(jiǎo )。 2. 牌匾:门~。匾~。 3. 规定数量:~数。~外。定~。余~。超~。空~。 4.通常在聊天当中,也会常见到'额这个字。在当今90后当家的社会上,额’可以代表无语,代表沉默,有点矛盾的感觉。 网络用语 ①在山西话、陕西话中,“我”读音为“额(è)”。详见《武林外传》中佟湘玉的说话方式。 ②表示“呃”的意思。因为现在大部分人用搜狗拼音输入法或者QQ拼音输入法,用这两种输入法时,显示的第一个字为“额”,“呃“却在第四个,为了方便起见,便有了“额”代替“哦”。用于表示无语、思考、晕等 ③在QQ.MSN聊天中常用嗯 由于为了简便 也常有用额代替 表示:我明白了.哦.无语 ④在广西壮语中,“额”是普通话“是”的谐音。现在已成了网络用语。也是“是”的意思。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)