この記事では、MySQL での中国語の文字化けの問題を解決する方法 (文字化けの問題の完璧な解決策) に関する関連情報を紹介します。また、MySQL で中国語の文字化けが発生する一般的な原因もいくつかまとめています。 MySQL を見に来てください。
ここ 2 日間、プロジェクトの作業中に文字化けに悩まされていましたが、mysql の中国語の文字化けの問題が解決しただけではありません。参考のために私の解決策を共有します。後で自分で確認することもできます。
最初に:
「%colla%」のような show 変数を使用し、「%char%」のような show 変数を使用してデータベースの文字セットを確認します。設定
がすべて gbk2312 または gbk である場合は、簡体字中国語のみがサポートされており、一部の特殊記号は UTF-8 に変更することしかできません。 ,
変更方法は次のとおりです:
メモ帳または UitraEdit を使用して、mysql データベースのインストール ディレクトリにある my.ini ファイルを開き、Ctrl F を押して検索します。 default-character-set を変更し、次の文字セットを UTF8 に変更します。クライアント側とサーバー側の 2 か所を変更することに注意してください。
次に、保存して mysql サービスを再起動し、「%colla%」のような show 変数を使用し続けます。「%char%」のような show 変数を 2 つのステートメントでクエリします。 図に示すように:
これで設定は完了です。
注:
以前に削除されていないデータベースがある場合は、show database データベース名と show create table テーブル名を使用して、データベースとテーブルの文字セットが一致しているかどうかを確認してください。は UTF8 ですが、my.ini ファイルが変更されているため、元のデータベースの文字セットを変更できません。コマンド ラインで、
alter database namecharacter set "character set"; コマンドを使用して、データベース キャラクタ セットを変更できます。
もう 1 つの注意点は、UTF8 に変更した後、コマンドの行の下の中国語のテキストが文字化けしており、ページまたはコンソールにのみ出力されるのが正常です。この問題はコマンドラインではサポートされていないようですが、よくわかりません。 。
変更後、コマンドラインに中国語を挿入したい場合は、ステートメントを挿入する前に set names gbk2312 を実行すると中国語を挿入できますが、繁体字中国語と一部の特殊記号は挿入できません。
上記はここ数日のコード化けを解決した結果です。皆さんにアドバイスをいただければ幸いです。
MySQL で中国語文字化けが発生する理由をいくつか整理してみます。それは次の点に他なりません。
1. サーバー自体の設定の問題、たとえば、まだ latin1 で止まっている
2. テーブルの言語設定の問題 (文字や照合順序を含む)
3. php ) の接続言語設定の問題
utf8 を使用することを強くお勧めします!!!!
utf8 は世界中のすべての文字と互換性があります!!!!
1. データベースとテーブルを作成するときに中国語の文字化けを回避し、エンコード方法を確認します
1. データベースを作成する場合:
CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
2. テーブル作成時
CREATE TABLE `database_user` ( `ID` varchar(40) NOT NULL default '', `UserID` varchar(40) NOT NULL default '', ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
これら 3 つの設定が完了したら問題は、データベースとテーブルを構築するときに同じエンコード形式が使用されることです。
ただし、すでにデータベースとテーブルを構築している場合は、次の方法でそれらをクエリできます。
1. デフォルトのエンコード形式を表示します:
mysql> show variables like "%char%"; +--------------------------+---------------+ | Variable_name | Value | +--------------------------+---------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+-------------+
注: 前の 2 つで確認できます。 set names utf8、set names gbk を使用してデフォルトのエンコード形式を設定します。
SET NAMES utf8 を実行する効果は、以下を同時に設定することと同じです:
SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf8';
2. テスト データベースのエンコード形式を確認します:
mysql> show create database test; +------------+------------------------------------------------------------------------------------------------+ | Database | Create Database | +------------+------------------------------------------------------------------------------------------------+ | test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ | +------------+------------------------------------------------------------------------------------------------+
3. yjdb データテーブルのエンコード形式を確認します:
mysql> show create table yjdb; | yjdb | CREATE TABLE `yjdb` ( `sn` int(5) NOT NULL AUTO_INCREMENT, `type` varchar(10) NOT NULL, `brc` varchar(6) NOT NULL, `teller` int(6) NOT NULL, `telname` varchar(10) NOT NULL, `date` int(10) NOT NULL, `count` int(6) NOT NULL, `back` int(10) NOT NULL, PRIMARY KEY (`sn`), UNIQUE KEY `sn` (`sn`), UNIQUE KEY `sn_2` (`sn`) ) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |
2. インポートされたデータの中国語文字化けの問題を回避します
1: データを変換します。エンコード形式は utf-8 として保存されます。
デフォルトのエンコードを utf8 に設定します。
set names utf8 ;
データベース db_name をデフォルトで utf8 に設定します:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
テーブル tb_name のデフォルトのエンコーディングを utf8 に設定します:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
インポート:
LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;
2:データ エンコード形式を ansi (例: GBK または GB2312)
デフォルトのエンコードを gbk に設定します:
set names gbk;
Setデータベース db_name のデフォルトのエンコーディングを gbk に設定します:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
テーブル tb_name のデフォルトのエンコーディングを gbk に設定します:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
インポート:
LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;
注: 1. gbk をインポートしないでください。 UTF8、および gbk には UTF8 をインポートしません。
2.dos UTF8 の表示はサポートされていません。
3. Webページの文字化け問題を解決します
Web サイトのエンコードを、世界中のすべての文字と互換性のある utf-8 に設定します。
Web サイトが長期間運営されており、古いデータが多く、簡体字中国語の設定を変更できない場合は、ページのエンコードを GBK に設定することをお勧めします。 GBK と GB2312 は次のとおりです。 GBK GB2312 よりも多くの文字を表示できます。簡略化されたコードで繁体字を表示するには、GBK のみを使用できます。
1. /etc/my.cnf を編集し、[mysql] セクションにdefault_character_set=utf8 を追加します。
2. 接続 URL を記述するときに、?useUnicode を追加します。 =true&characterEncoding=utf-8 パラメータ;
3. Web ページのコードに「set names utf8」または「set names gbk」コマンドを追加して、すべての接続コンテンツで utf8 または gbk を使用する必要があることを MySQL に伝えます。 ;
その他の関連チュートリアルについては、MySQL ビデオ チュートリアル
を参照してください。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!
