ホームページ データベース mysql チュートリアル 分享mysql中文乱码的解决办法

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

Jun 01, 2016 am 09:57 AM
中国語 文字化け

修改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="language-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>
ログイン後にコピー

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

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

<code class="language-sql">alter database mysqlcode default character set 'gbk'.</code>
ログイン後にコピー

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

<code class="language-sql">mysql> insert into mysqlcode values(null,'代码分享');</code>
ログイン後にコピー

设置连接编码

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

<code class="language-sql">mysql> SET character_set_client='gbk';
mysql> SET character_set_connection='gbk'
mysql> SET character_set_results='gbk'</code>
ログイン後にコピー

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

<code class="language-sql">mysql> insert into mysqlcode values(null,'java爱好者');
Query OK, 0 rows affected (0.02 sec)</code>
ログイン後にコピー

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

<code class="language-sql">mysql> set names 'gbk';</code>
ログイン後にコピー

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

<code class="language-sql">mysql> select * from mysqlcode;
+----+-----------+
| id | content |
+----+-----------+
| 1   | java爱好着 |
+----+-----------+
1 row in set (0.00 sec)</code>
ログイン後にコピー

 

查询mysql中文记录乱码问题

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

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

<code class="language-sql">create table my_table ( name varchar(20) binary not null default'')type=myisam default charset latin1;</code>
ログイン後にコピー

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

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

第一步:导出旧数据

<code class="language-sql">mysqldump --default-character-set=latin1 -hlocalhost -uroot -Bmy_db --tables old_table > old.sql</code>
ログイン後にコピー

第二步:转换编码

<code class="language-sql">iconv -t utf-8 -f gb2312 -c old.sql > new.sql</code>
ログイン後にコピー

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

第三步:导入

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

<code class="language-sql">mysql -hlocalhost -uroot my_db </code>
ログイン後にコピー

大功告成!!

mysql导入数据乱码解决 

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

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

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

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

<code class="language-sql">mysqldump   -uroot  -p  --default-character-set=utf8   dbname tablename  >  bak.sql</code>
ログイン後にコピー

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

<code>mysql -uroot -p --default-character-set=utf8 dbname </code>
ログイン後にコピー

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Call of Duty: Warzone モバイル ゲームで中国語を設定する方法 Call of Duty: Warzone モバイル ゲームで中国語を設定する方法 Mar 22, 2024 am 08:41 AM

Call of Duty Warzone は新しくリリースされたモバイル ゲームです。多くのプレイヤーは、このゲームの言語を中国語に設定する方法に非常に興味があります。実際、それは非常に簡単です。プレイヤーは中国語の言語パックをダウンロードするだけで、その後、次のことができます詳しい内容はこちらの中国語設定方法紹介で解説していますので、一緒に見ていきましょう。モバイル ゲーム Call of Duty: Warzone に中国語を設定する方法 1. まずゲームに入り、インターフェースの右上隅にある設定アイコンをクリックします。 2. 表示されるメニューバーで、[ダウンロード]オプションを見つけてクリックします。 3. このページの[SIMPLIFIEDCHINESE](簡体字中国語)を選択して、簡体字中国語のインストールパッケージをダウンロードします。 4. 設定に戻ります

Excelのテーブルに中国語を表示するように設定するにはどうすればよいですか? Excel切り替え中国語操作チュートリアル Excelのテーブルに中国語を表示するように設定するにはどうすればよいですか? Excel切り替え中国語操作チュートリアル Mar 14, 2024 pm 03:28 PM

Excelスプレッドシートは現在多くの人が使っているオフィスソフトの一つですが、パソコンがWin11なので英語のインターフェースが表示されていて、中国語のインターフェースに切り替えたいけど操作方法が分からないという方もいらっしゃいます。この問題を解決するには、この問題エディターがすべてのユーザーの質問に答えるためにここにあります。今日のソフトウェア チュートリアルで共有されるコンテンツを見てみましょう。 Excel を中国語に切り替えるためのチュートリアル: 1. ソフトウェアを起動し、ページ上部のツールバーの左側にある [ファイル] オプションをクリックします。 2. 以下の選択肢から「オプション」を選択します。 3. 新しいインターフェースに入ったら、左側の「言語」オプションをクリックします。

PHP Dompdf で中国語の文字を正しく表示する方法 PHP Dompdf で中国語の文字を正しく表示する方法 Mar 05, 2024 pm 01:03 PM

PHPDompdf で中国語の文字を正しく表示する方法 PHPDompdf を使用して PDF ファイルを生成する場合、中国語の文字化けの問題がよく発生します。これは、Dompdf がデフォルトで使用するフォント ライブラリに中国語の文字セットが含まれていないためです。中国語の文字を正しく表示するには、Dompdf のフォントを手動で設定し、中国語の文字をサポートするフォントを必ず選択する必要があります。この問題を解決するための具体的な手順とコード例をいくつか示します。 ステップ 1: 中国語フォント ファイルをダウンロードします。

wwe2k24には中国語が登場しますか? wwe2k24には中国語が登場しますか? Mar 13, 2024 pm 04:40 PM

『WWE2K24』はVisual Conceptsが制作し、2024年3月9日に正式リリースされたレーシングスポーツゲームです。このゲームは非常に高く評価されており、多くのプレイヤーが中国語版がリリースされるかどうかに熱心に興味を持っています。残念ながら、今のところ「WWE2K24」は中国語版をまだローンチしていない。 wwe2k24 は中国語になりますか? 回答: 中国語は現在サポートされていません。 Steam中国地域におけるWWE2K24の標準版の価格は199元、デラックス版は329元、記念版は395元です。ゲームには比較的高い構成要件があり、プロセッサ、グラフィックス カード、または実行メモリに関して特定の基準があります。公式推奨構成と最小構成の紹介:

PHP Dompdf で中国語の文字化けを修正する効果的な方法 PHP Dompdf で中国語の文字化けを修正する効果的な方法 Mar 05, 2024 pm 04:45 PM

タイトル: PHPDompdf で中国語の文字化けを修復する効果的な方法. PHPDompdf を使用して PDF ドキュメントを生成する場合、中国語の文字化けは一般的な問題です。この問題は通常、Dompdf がデフォルトで中国語の文字セットをサポートしていないため、中国語のコンテンツが正しく表示されないことが原因で発生します。この問題を解決するには、PHPDompdf の中国語文字化け問題を解決するいくつかの効果的な方法を講じる必要があります。 1. カスタム フォント ファイルを使用する Dompdf の中国語文字化けの問題を解決する効果的な方法は、

VSCode を使用した中国語のセットアップ: 完全ガイド VSCode を使用した中国語のセットアップ: 完全ガイド Mar 25, 2024 am 11:18 AM

中国語での VSCode セットアップ: 完全ガイド ソフトウェア開発では、Visual Studio Code (略して VSCode) が一般的に使用される統合開発環境です。中国語を使用する開発者は、VSCode を中国語インターフェイスに設定すると、作業効率が向上します。この記事では、VSCode を中国語インターフェイスに設定する方法を詳しく説明し、具体的なコード例を示す完全なガイドを提供します。ステップ 1: 言語パックをダウンロードしてインストールします。VSCode を開いた後、左側の

Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Mar 10, 2024 am 09:54 AM

タイトル: 中国語データを Oracle にインポートする際の文字化けの問題を解決する方法とコード例。中国語データを Oracle データベースにインポートすると、文字化けが頻繁に発生します。これは、データベースの文字セット設定が間違っているか、インポート中のエンコード変換の問題が原因である可能性があります。プロセス。 。この問題を解決するには、インポートされた中国語データが正しく表示されるようにするためのいくつかの方法を講じることができます。以下に、いくつかの解決策と具体的なコード例を示します。 1. データベースの文字セット設定を確認します。 Oracle データベースでは、文字セット設定は次のとおりです。

PHPでtxtファイルを書く際の中国語の文字化けを解決するためのヒント PHPでtxtファイルを書く際の中国語の文字化けを解決するためのヒント Mar 27, 2024 pm 01:18 PM

PHP で書かれた txt ファイルの中国語文字化けを解決するヒント. インターネットの急速な発展に伴い、PHP は広く使用されているプログラミング言語として、ますます多くの開発者に使用されています。 PHP 開発では、中国語のコンテンツを記述する txt ファイルなどのテキスト ファイルの読み取りと書き込みが必要になることがよくあります。ただし、エンコード形式の問題により、書かれた中国語が文字化けして表示されることがあります。この記事では、PHPでtxtファイルに書き込まれた中国語の文字化けを解決するテクニックと、具体的なコード例を紹介します。 PHP、テキストの問題分析

See all articles