mysql utf-8的作用_特殊字符在MySQL中不起作用(UTF-8)

所以,我在尝试从Latin1编码的数据库,表格和列中过来时遇到了一些问题,现在一切都是UTF-8,我似乎无法更新列中的一行.我试图用急性(é)替换“e”.但它给了我这个:

ERROR 1366 (HY000): Incorrect string value: ‘\x82m …’ for column

‘Name’ at row 1

在运行时:

UPDATE访问SET Name =’ém’WHEREid =“2”;

所有数据库在运行status命令时都会给我这个(当然除了当前的数据库部分):

Connection id: 1

Current database: access

Current user: root@localhost

SSL: Not in use

Using delimiter: ;

Server version: 5.1.47-community MySQL Community Server (GPL)

Protocol version: 10

Connection: localhost via TCP/IP

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

TCP port: 3306

Uptime: 20 min 16 sec

Threads: 1 Questions: 110 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 11 Queries per second avg: 0.90

在cmd中运行chcp命令给了我850.哦,在某些时候我得到了这个:

ERROR 1300 (HY000): Invalid utf8 character string: ‘ém’ WHERE id=”2″

我到处寻找解决方案,但我似乎无法找到任何地方,因为我总是对Stackoverflow有很好的回应,我想我会在这里问.

谢谢你的帮助!

解决方法:

This thread虽然有些陈旧,但似乎得出的结论是cmd.exe和mysql客户端没有正确处理UTF-8编码(责任更多的是针对cmd.exe).

建议从文件中读取SQL,就像使用备用客户端 – 或者UNIX的味道一样.

标签:mysql,sql,windows,cmd,character-encoding

来源: https://codeday.me/bug/20190526/1158453.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值