Rumah pangkalan data tutorial mysql 分享mysql中文乱码的解决办法

分享mysql中文乱码的解决办法

Jun 01, 2016 am 09:57 AM
cina Watak bercelaru

修改mysql配置解决乱码

首先:

用show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置

如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8,

修改方法如下:

用记事本或UitraEdit打开mysql数据库安装目录下的my.ini文件打开, 然后Ctrl+F搜索default-character-set,将后面的字符集修改为UTF8,注意要修改两个地方,一个事客户端的,一个是服务端的。

然后保存,重启mysql服务、、进去继续用show variables like “%colla%”;show varables like “%char%”;着两条语句查询一下字符集

数据表和连接部分的编码设置

设置数据库和数据表编码

要解决乱码问题,首先必须弄清楚数据库和数据表用什么编码。如果没有指明,将是默认的latin1。
用得最多的应该是这3种字符集 gb2312,gbk,utf8。
如何去指定数据库和数据表的字符集呢?下面也gbk为例:
【在MySQL Command Line Client创建数据库 】

<code class="sql">mysql> CREATE TABLE `mysqlcode` (
  -> `id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  -> `content` VARCHAR( 255 ) NOT NULL
  -> ) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;
  Query OK, 0 rows affected, 1 warning (0.03 sec)</code>
Salin selepas log masuk

其中后面的 TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;就是指定数据库的字符集,COLLATE (校勘),让mysql同时支持多种编码的数据库。

当然也可以通过如下指令修改数据库数据表的字符集:

<code class="sql">alter database mysqlcode default character set 'gbk'.</code>
Salin selepas log masuk

前面已经设置了服务器、数据库和数据表的编码,那么数据库中的编码便都是gbk,中文可以存储进去。
但是如果你要通过执行insert或select等操作时,仍然会出现中文乱码问题,这是因为还没设置“连接(connection)”部分的编码,而insert、select等数据库操作都包含与数据库的连接动作。如果不信,你现在可以执行下面的sql文试一试:

<code class="sql">mysql> insert into mysqlcode values(null,'代码分享');</code>
Salin selepas log masuk

设置连接编码

设置了服务器、数据库和数据表部分的编码,必须设置连接编码。连接编码设置如下:

<code class="sql">mysql> SET character_set_client='gbk';
mysql> SET character_set_connection='gbk'
mysql> SET character_set_results='gbk'</code>
Salin selepas log masuk

设置好连接编码,下面便可以成功插入中文了:

<code class="sql">mysql> insert into mysqlcode values(null,'java爱好者');
Query OK, 0 rows affected (0.02 sec)</code>
Salin selepas log masuk

其实,上面设置连接编码的三条命令可以简化为一条:

<code class="sql">mysql> set names 'gbk';</code>
Salin selepas log masuk

设置好了连接编码后,在select查询时,也能正确显示中文:

<code class="sql">mysql> select * from mysqlcode;
+----+-----------+
| id | content |
+----+-----------+
| 1   | java爱好着 |
+----+-----------+
1 row in set (0.00 sec)</code>
Salin selepas log masuk

 

查询mysql中文记录乱码问题

我们这里以gb2312编码乱码为实例来介绍

如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束,例如:

<code class="sql">create table my_table ( name varchar(20) binary not null default'')type=myisam default charset latin1;</code>
Salin selepas log masuk

附:旧数据升级办法
以原来的字符集为latin1为例,升级成为utf8的字符集。

原来的表:old_table (default charset=latin1),新表:new_table(defaultcharset=utf8)。

第一步:导出旧数据

<code class="sql">mysqldump --default-character-set=latin1 -hlocalhost -uroot -Bmy_db --tables old_table > old.sql</code>
Salin selepas log masuk

第二步:转换编码

<code class="sql">iconv -t utf-8 -f gb2312 -c old.sql > new.sql</code>
Salin selepas log masuk

在这里,假定原来的数据默认是gb2312编码。

第三步:导入

修改old.sql,增加一条sql语句: "SET NAMES utf8;",保存。

<code class="sql">mysql -hlocalhost -uroot my_db </code>
Salin selepas log masuk

大功告成!!

mysql导入数据乱码解决 

出现乱码语句:mysql -hlocalhost -uroot -proot test

正确的语句:mysql -hlocalhost -uroot -proot test

解决mysql导入导出数据乱码问题

首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,例如下面的代码:

<code class="sql">mysqldump   -uroot  -p  --default-character-set=utf8   dbname tablename  >  bak.sql</code>
Salin selepas log masuk

那么导入数据的时候也要使用--default-character-set=utf8:

<code>mysql -uroot -p --default-character-set=utf8 dbname </code>
Salin selepas log masuk

这样统一编码就解决了mysql数据迁移中的乱码问题了

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menetapkan bahasa Cina dalam permainan mudah alih Call of Duty: Warzone Cara menetapkan bahasa Cina dalam permainan mudah alih Call of Duty: Warzone Mar 22, 2024 am 08:41 AM

Call of Duty Warzone ialah permainan mudah alih yang baru dilancarkan Ramai pemain sangat ingin tahu tentang cara menetapkan bahasa permainan ini kepada bahasa Cina Malah, ia adalah sangat mudah ubah suai selepas menggunakannya. Kandungan terperinci boleh dipelajari dalam pengenalan kaedah tetapan bahasa Cina ini. Mari kita lihat bersama. Cara menetapkan bahasa Cina untuk permainan mudah alih Call of Duty: Warzone 1. Mula-mula masukkan permainan dan klik ikon tetapan di penjuru kanan sebelah atas antara muka. 2. Dalam bar menu yang muncul, cari pilihan [Muat Turun] dan klik padanya. 3. Pilih [SIMPLIFIEDCHINESE] (Simplified Chinese) pada halaman ini untuk memuat turun pakej pemasangan Chinese Simplified. 4. Kembali ke tetapan

Bagaimana untuk menetapkan jadual Excel untuk memaparkan bahasa Cina? Tutorial pengendalian bahasa Cina penukaran Excel Bagaimana untuk menetapkan jadual Excel untuk memaparkan bahasa Cina? Tutorial pengendalian bahasa Cina penukaran Excel Mar 14, 2024 pm 03:28 PM

Hamparan Excel adalah salah satu perisian pejabat yang ramai orang gunakan sekarang, kerana komputer mereka adalah sistem Win11, jadi antara muka bahasa Inggeris dipaparkan itu. Untuk menyelesaikan masalah ini, isu ini Editor berada di sini untuk menjawab soalan untuk semua pengguna Mari lihat kandungan yang dikongsi dalam tutorial perisian hari ini. Tutorial untuk menukar Excel kepada bahasa Cina: 1. Masukkan perisian dan klik pilihan "Fail" di sebelah kiri bar alat di bahagian atas halaman. 2. Pilih "pilihan" daripada pilihan yang diberikan di bawah. 3. Selepas memasuki antara muka baharu, klik pilihan "bahasa" di sebelah kiri

Bagaimana untuk memaparkan aksara Cina dengan betul dalam PHP Dompdf Bagaimana untuk memaparkan aksara Cina dengan betul dalam PHP Dompdf Mar 05, 2024 pm 01:03 PM

Bagaimana untuk memaparkan aksara Cina dengan betul dalam PHPDompdf Apabila menggunakan PHPDompdf untuk menjana fail PDF, adalah cabaran biasa untuk menghadapi masalah aksara Cina yang kacau-bilau. Ini kerana pustaka fon yang digunakan oleh Dompdf secara lalai tidak mengandungi set aksara Cina. Untuk memaparkan aksara Cina dengan betul, kita perlu menetapkan fon Dompdf secara manual dan pastikan untuk memilih fon yang menyokong aksara Cina. Berikut ialah beberapa langkah dan contoh kod khusus untuk menyelesaikan masalah ini: Langkah 1: Muat turun fail fon Cina Pertama, kita perlukan

Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Mar 25, 2024 am 11:18 AM

Persediaan VSCode dalam Bahasa Cina: Panduan Lengkap Dalam pembangunan perisian, Visual Studio Code (VSCode ringkasnya) ialah persekitaran pembangunan bersepadu yang biasa digunakan. Bagi pembangun yang menggunakan bahasa Cina, menetapkan VSCode kepada antara muka Cina boleh meningkatkan kecekapan kerja. Artikel ini akan memberi anda panduan lengkap, memperincikan cara menetapkan VSCode kepada antara muka Cina dan menyediakan contoh kod khusus. Langkah 1: Muat turun dan pasang pek bahasa Selepas membuka VSCode, klik di sebelah kiri

Cara yang berkesan untuk membetulkan aksara Cina yang kacau dalam PHP Dompdf Cara yang berkesan untuk membetulkan aksara Cina yang kacau dalam PHP Dompdf Mar 05, 2024 pm 04:45 PM

Tajuk: Cara berkesan untuk membaiki aksara Cina yang kacau dalam PHPDompdf Apabila menggunakan PHPDompdf untuk menjana dokumen PDF, aksara Cina yang kacau adalah masalah biasa. Masalah ini biasanya berpunca daripada fakta bahawa Dompdf tidak menyokong set aksara Cina secara lalai, menyebabkan kandungan Cina tidak dipaparkan dengan betul. Untuk menyelesaikan masalah ini, kita perlu mengambil beberapa cara yang berkesan untuk menyelesaikan masalah PHPDompdf Cina yang kacau. 1. Gunakan fail fon tersuai Cara yang berkesan untuk menyelesaikan masalah aksara Cina yang kacau dalam Dompdf adalah dengan menggunakan

Adakah wwe2k24 akan mempunyai bahasa Cina? Adakah wwe2k24 akan mempunyai bahasa Cina? Mar 13, 2024 pm 04:40 PM

"WWE2K24" ialah permainan sukan lumba yang dicipta oleh Visual Concepts dan dikeluarkan secara rasmi pada 9 Mac 2024. Permainan ini sangat dipuji, dan ramai pemain sangat berminat sama ada ia akan mempunyai versi Cina. Malangnya, setakat ini, "WWE2K24" masih belum melancarkan versi bahasa Cina. Adakah wwe2k24 dalam bahasa Cina Jawapan: Bahasa Cina tidak disokong pada masa ini. Versi standard WWE2K24 di rantau Steam China berharga 199 yuan, versi deluxe ialah 329 yuan, dan edisi peringatan ialah 395 yuan. Permainan ini mempunyai keperluan konfigurasi yang agak tinggi, dan terdapat piawaian tertentu dari segi pemproses, kad grafik atau memori berjalan. Konfigurasi yang disyorkan rasmi dan pengenalan konfigurasi minimum:

Petua untuk menyelesaikan aksara Cina yang kacau apabila menulis fail txt dengan PHP Petua untuk menyelesaikan aksara Cina yang kacau apabila menulis fail txt dengan PHP Mar 27, 2024 pm 01:18 PM

Petua untuk menyelesaikan aksara Cina bercelaru yang ditulis oleh PHP ke dalam fail txt Dengan perkembangan pesat Internet, PHP, sebagai bahasa pengaturcaraan yang digunakan secara meluas, digunakan oleh semakin ramai pembangun. Dalam pembangunan PHP, selalunya perlu membaca dan menulis fail teks, termasuk fail txt yang menulis kandungan bahasa Cina. Walau bagaimanapun, disebabkan masalah format pengekodan, kadangkala tulisan Cina akan kelihatan bercelaru. Artikel ini akan memperkenalkan beberapa teknik untuk menyelesaikan masalah aksara Cina bercelaru yang ditulis ke dalam fail txt oleh PHP, dan menyediakan contoh kod khusus. Analisis masalah dalam PHP, teks

Bagaimana untuk menukar Google Chrome kepada mod Cina? Bagaimana untuk menukar Google Chrome kepada mod Cina? Mar 13, 2024 pm 07:31 PM

Bagaimana untuk menukar bahasa Cina kepada bahasa Inggeris dalam Google Chrome? Sesetengah rakan ingin menetapkan Google Chrome kepada bahasa Inggeris supaya mereka boleh terus meningkatkan bahasa Inggeris mereka semasa digunakan. Jadi bagaimana untuk menetapkannya kepada bahasa Inggeris? Google Chrome adalah bahasa Cina secara lalai. Di bawah, saya akan menunjukkan kepada anda cara menetapkan bahasa Google Chrome kepada bahasa Inggeris. Langkah menetapkan: 1. Buka [Google Chrome], seperti yang ditunjukkan dalam rajah di bawah. 2. Klik menu [tiga titik] di penjuru kanan sebelah atas antara muka Google Chrome, seperti yang ditunjukkan dalam rajah di bawah. 3. Selepas memasuki halaman menu, cari [Settings], seperti yang ditunjukkan dalam rajah di bawah. 4. Selepas memasuki halaman tetapan, klik pilihan [Bahasa], seperti yang ditunjukkan dalam rajah di bawah. 5. Pilih [Tambah Bahasa] dalam antara muka bahasa, seperti yang ditunjukkan dalam rajah di bawah.

See all articles