mysql 乱码 latin1_mysql 数据库 latin1 导致的乱码

mysql 乱码 latin1_mysql 数据库 latin1 导致的乱码很多年以前遇到 mysql 的乱码问题 最近又遇到了 mysql 这货 默认的编码是 latin1 例如 latin1 swedish ci 实在不明白为什么是这样 而最近 10 年 主流的编码方式已经是 utf8 mysql 中 最初采用 utf8 generalci 与其匹配 后来逐渐地使用 utf8unicode ci 与其匹配 比较神奇的是 有时候 mysql 数据库已经从 lati

很多年以前遇到 mysql 的乱码问题。最近又遇到了。

mysql 这货,默认的编码是 latin1 (例如 latin1_swedish_ci)。——实在不明白为什么是这样。

而最近10年,主流的编码方式已经是 utf8 。mysql 中,最初采用 utf8_generalci 与其匹配,后来逐渐地使用 utf8unicode_ci 与其匹配。

比较神奇的是,有时候,mysql 数据库已经从 latin1 转成了 utf8 ,但是,phpmyadmin 中,显示出来的是乱码,而程序中现出来的却是正常的。——因此,如果不看数据库,也许不知道 mysql 层面保存的数据已经乱成一团。

但是,如果后期需要转移数据、或者恢复数据,就很可能发现了这些乱码,并且发现程序读取之后的字符也是乱码了。

今晚找到半天,终于在 煩人的latin1轉utf-8問題 找到了解决办法。

这个解决办法的主要思路就是:既然原来的数据是 latin1 格式的,那么,备份时就先按照 latin1 格式去把数据弄出来:

mysqldump -c -h localhost –user 用户名–password=用户密码 –default-character-set=latin1 –skip-set-charset 数据库名|bzip2 > mysql-backup-`date +%Y%m%d`.bz2

将这个压缩包里面的文件另存为 utf8 格式的 sql 文件之后,在顶部增加这一行:

SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary;

然后,重新导入即可。

ghost中文网在 在阿里云服务器上安装 Ghost (3)– 安装 MySQL 提到如何设置 mysql 的默认字符集,如下:

1、编辑 /etc/mysql/my.cnf

nano -w /etc/mysql/my.cnf

2、找到 [mysqld] 这一段,增加以下 3 行; ——如果没有 [mysqld] 这一行,就先新增这行

collation-server = utf8_unicode_ci init-connect=’SET NAMES utf8′ character-set-server = utf8

重新启动 mysql 之后,就能避免 mysql 采用奇葩的 latin1 字符集了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231352.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 2392 Space Elevator

    POJ 2392 Space Elevator

    2022年1月19日
    47
  • android SubString截取字符串

    android SubString截取字符串

    2022年5月10日
    34
  • dos命令进入文件夹[通俗易懂]

    输入D:回车,进入D盘的根目录,然后输入dir回车可以查看根目录下的文件和文件夹,输入cd空格文件夹的名字(不区分大小写)进入文件夹根目录下,依次输入dir查看该目录下的文件和文件夹。   附录:MSDOS命令大全一、基础命令1dir无参数:查看当前所在目录的文件和文件夹。/s:查看当前目录已经其所有子目录的文件和文件夹。

    2022年4月14日
    279
  • oracle r修改表名,oracle中修改表名「建议收藏」

    oracle r修改表名,oracle中修改表名「建议收藏」<<>>answer1:ALTERTABLEold_table_nameRENAMETOnew_table_name;(大写为系统命令)answer2:SQL>selecttnamefromtab;TNAME——————————TESTSQL>renametesttotemp;Tablere…

    2022年5月17日
    43
  • 手机上有哪些不错的c语言编程软件?[通俗易懂]

    手机上有哪些不错的c语言编程软件?[通俗易懂]手机上编程C语言的软件其实非常多,下面我介绍2个不错的软件,分别是C语言编译器和C++编译器,这2个软件都可以在手机上直接编译运行C语言程序,而且使用起来非常不错,下面我简单介绍一下这2个软件的安装和使用:C语言编译器1.首先,下载安装C语言编译器,这个可以直接到手机应用商店中搜索,如下,大概也就13兆左右:2.安装完成后,打卡这个软件,就可以直接新建C语言文件,进…

    2025年9月6日
    5
  • echarts+vue_vue安装echarts

    echarts+vue_vue安装echarts1.安装cnpminstallecharts-wordcloud2.创建模板组件WordCloudChart<template><div:id=”id”:style=”{height:height,width:width}”/></template><script>importechartsfrom”echarts/lib/echarts”;importresizefrom”@/m

    2022年10月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号