您好:SERVER端安装 Largon 6 ,内含heidiSQL 10.2.599 可以查询

client端另外下载 heidiSQL 12.0.8请问 client端哪边可以设定查询结果的编码?

同样SQL INSERT 语法,内有繁体中文SeRVER端 写入 ,查询 正常但clinet 端查询,就乱码

相对的,在端写入,client端查询正常, server端查询乱码

谢谢

补充:我比对两个版本软件差异

2 个回答

1

jabawork

iT邦新手 2 级 ‧ 2024-12-16 08:15:39

若是使用 mysql 的话,可以先执行下列的 sql 指令,看看目前 server编码,client 连线编码是否一致,若不一致的话,可以透过 sql 指令来修改,不过,这样是一次性,建议直接从 mysql 的设定档来做设定比较理想。

show variables like \'%character%\';


  • 5

看更多先前的...收起先前的...

noway

iT邦研究生 1 级 ‧
2024-12-16 20:10:55

您好:
这之前有找过

修改

jabawork

iT邦新手 2 级 ‧
2024-12-18 08:18:37

我也有用 laragon,不过,预设的 character_set_server 并不会出现 latin1,应该是你之前有更动过设定了。

你可以从 laragon 主控台中把 mysql 的设定档打开 my.ini,然后设定 mysql 的预设编码加入后,重新启动 mysql server 试试。

[mysqld]
collation-server = utf8_unicode_520_ci
init-connect=\'SET NAMES utf8\'
character-set-server = utf8

修改

noway

iT邦研究生 1 级 ‧
2024-12-19 18:51:24

您好:
试过
但 collation-server = utf8_unicode_520_ci 有问题
改用 collation-server = utf8_unicode_ci

但是 用hideiSQL 12版,一样是乱码

修改

jabawork

iT邦新手 2 级 ‧
2024-12-20 15:10:51

喔?!那会不会是你的文字存入资料库时,就不是用 utf8 编码储存的呢?
你有提到:

内含heidiSQL 10.2.599 可以查询

那你可以把查询正常的版本,执行 「show variables like \'%character%\';」 把 my.ini 的编码的部分设得和正常版本一样,应该就可以。

修改

noway

iT邦研究生 1 级 ‧
2024-12-22 19:56:32

目前在VM 下的 SERVER上版本 10版
与 CP端的 12版
设定都是依样
但 12板这一版抓出来的
selecft 出来的结果就是会变成乱码

修改

不明

【**此则讯息已被站方移除**】

0

㊣浩瀚星空㊣

iT邦大神 1 级 ‧ 2024-12-16 11:41:55

其实这个问题已经算老生常谈了。
我记得我几年前有提到过。资料库读取如碰上编码问题。要先确定4个地方

  1. 档案程式的档案编码。(这已经很少见了,因为现在大多数的编辑器都已经预设UTF8了)
  2. 资料库的主编码。检查是否为 utf8mb4
  3. MYSQL的预设编码。这不太重要,毕竟还是可以靠程式调整。但最好能一样
  4. 程式使用的资料库宣告编码

依目前来讲,尽量全依 utf8mb4 为主。