总结下MYSQL编码转换的问题latin1转utf8_MySQL
bitsCN.com
黑面
昨天碰到个PHP网站,数据库是MYSQL5.1的,进了网站的phpmyadmin管理后发现表内中文全部显示乱码,导出后本地导入一样是乱码,无法查看所需要的信息,乱码一般情况不用说都知道多数是编码的问题,查看了下目标库的编码为latin1,估计网站程序是GBK的。。。直接备份下载,下载到本地需要转换下编码,可惜以前没搞过,网上搜索了一堆资料测试。。。具体有这几种我给需要的朋友总结下,就不用到处搜索了
一:
1、备份数据库
mysqldump --default-character-set=latin1 --create-options=false --set-charset=false -u root -p 数据库名称 > E:ack.sql
2、创建新数据库
CREATE DATABASE 数据库名称 CHARACTER SET utf8 COLLATE utf8_general_ci;
3、导入数据
mysql -u root -p --default-character-set=gbk 数据库名称 ack.sql
二:
步骤一 命令行执行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql
步骤二 将 dbname.sql文件中的create table语句的CHARSET=latin1改为CHARSET=utf8
步骤三 在dbname.sql文件中的insert语句之前加一条set names utf8;
步骤四 将dbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的转换->ASCII到UTF-8(Unicode编辑),或者将文件另存为UTF-8(无BOM)格式
步骤五 命令行执行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname
总结:这种方法有个致命之处就是当数据中有大量中文字符和其他特殊符号字符时,很有可能导致在[步骤五]时报错导致无法正常导入数据,如果数据库比较大可以分别对每张表执行上述步骤
三:
为了解决第一种方法中总结时说到的问题,在网上苦苦查找了一天资料才东拼西凑的搞出一个比较稳妥的解决方法
步骤一 将待导出的数据表的表结构导出(可以用Phpmyadmin、mysqldump等,很简单就不说了),然后将导出的create table语句的CHARSET=latin1改为CHARSET=utf8,在目标库newdbname中执行该create table语句把表结构建好,接下来开始导出-导入数据
步骤二 命令行:进入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname
步骤三 执行SQL select * from tbname into outfile /usr/local/tbname.sql;
步骤四 将tbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的转换->ASCII到UTF-8(Unicode编辑),或者将文件另存为UTF-8(无BOM)格式
步骤五 在mysql命令行下执行语句 set character_set_database=utf8; 注:设置mysql的环境变量,这样mysql在下一步读取sql文件时将以utf8的形式去解释该文件内容
步骤六 在mysql命令行下执行语句 load data infile tbname.sql into table newdbname.tbname;
注意:千万不要忘了第四步
采用第二种方法,所有数据均正常导入,且格式转换成功没有乱码
四:
mysql数据转换编码
[root@piglet home]# mysqldump -u root -p --default-character-set=latin1 --set-charset=utf8 --skip-opt aiyomama_cn > /home/sites/savemoney.sql
Enter password:
五:
下回来的是latin1乱码的文件,因此,本机也架起Mysql5.0的环境
2. 然后新建一个空数据库,编码为UTF8,用下回来的sql文件导入
3. 再用phpmyadmin导出来,这样编码就成了UTF8
4. 把导出的sql文件中所有的DEFAULT CHARSET=latin1替换成DEFAULT CHARSET=utf8
5. 删除原来的latin1编码的数据库,导入这个UTF8编码的sql文件
完成:)
补充一下重点:
在执行完第2步的时候,用PHPMYADMIN打开数据库看看
里面所有的表和字段都还是LATIN1,没关系,继续执行第3步
执行完第3步,可以用文本编辑器打开SQL文件看看,换UTF8格式查看
这时,表和字段的内容就是UTF8了!
以上五种方法我都试验了一遍,可能是数据库实在太大,有的方法完全不行,有的可以但只能转换到一半也出错停止,无法转换完全部,最后在不懈努力之下找到个编码转换的PHP小脚本文件,使用后全部库转换正常,看来还是工具来的方便啊,手工忙了半天都没解决。。。不过还有点就是不管遇到什么问题,搜索引擎一般情况下都能帮助你解决问题,只要你愿意去花时间自己解决问题。
bitsCN.com

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











ご存知のとおり、Web サイトの SEO の最適化は Web サイト運営において非常に重要な部分です。多くの Web サイトで使用される動的 Web システム (PHP など) のデフォルト URL には拡張子 (.php、.html など) が付いており、Web サイトの SEO 効果に影響します。 Web サイトの最適化効果を高めるために、動的 URL を疑似静的 URL に変更して拡張機能名を隠し、Web サイトのユーザー エクスペリエンスと検索エンジンのランキングを向上させるのが一般的です。この記事では、「疑似静的非表示 php サフィックス」をテーマに、PHP Web サイトでこの最適化を実現する方法を紹介します。

Empire cms テンプレートの開発方法には次のものが含まれます。 1. テンプレートの構造を理解する。 3. タグと変数を使用する。 5. CSS と JS を使用する。 7. デバッグする。そしてテスト。

PHP で作成された Web サイトには、1. 世界最大のソーシャル メディア プラットフォームの 1 つである Facebook、2. 世界中のユーザーによって編集されるオンライン百科事典である Wikipedia、3. 人気のオープンソース ブログおよびコンテンツ管理システムである WordPress、4. Slack などがあります。 、広く使用されているチームコラボレーションツール、5. Magento、強力なオープンソース電子商取引プラットフォーム、6. Etsy、手工芸品や独立したデザイナーのためのオンラインマーケットプレイス。

PHP Web サイトを構築するには、次の手順が必要です。 1. 環境を準備し、PHP 開発環境をインストールし、Web サイトのルート ディレクトリを作成します。 2. ホームページのindex.phpやその他の必要なファイルを含む、基本的なファイル構造を作成します。 3. ホーム ページのコンテンツを作成し、HTML と PHP を使用してページ構造を構築し、コンテンツを動的に生成します。 4. 他のページを追加し、ページのコンテンツを処理するための他の PHP ファイルを作成します。 5. データベースに接続します(オプション)。PHP を使用してデータベースに接続し、データを操作します。 6. スタイルとインタラクティブ効果をデザインし、CSS と JavaScript を使用して Web サイトの美しさとインタラクティブ性を高めます。 7. Web サイトを展開し、Web サイトのファイルをサーバーにアップロードするか、

PHP で開発された Web サイトには、1. 世界最大のソーシャル メディア プラットフォームの 1 つである Facebook、2. 世界有数のオンライン百科事典である Wikipedia、3. 広く使用されているオープンソースのブログおよびコンテンツ管理システムである WordPress、4. 人気のある Twitter が含まれます。ソーシャル メディア プラットフォーム、5. 世界的に有名なポータルである Yahoo、6. オンライン画像ホスティングおよび共有プラットフォームである Flickr、7. 専門的なソーシャル メディア プラットフォームである LinkedIn。

安全なコーディング手法を使用して PHP Web サイトを保護するにはどうすればよいですか?インターネットの普及と発展に伴い、開発言語として PHP を使用する Web サイトがますます増えています。ただし、PHP は柔軟性があり使いやすいため、さまざまなセキュリティの脅威に対して脆弱になります。したがって、PHP Web サイトを開発する場合は、Web サイトを攻撃から保護するために安全なコーディング手法を適用することが不可欠です。この記事では、安全なコーディング手法を使用して PHP Web サイトを保護するいくつかの方法を紹介し、対応するコード例を示します。入力検証とフィルタリング 入力検証とフィルタリングは、PHP Web サイトを保護するための鍵です

暗号化アルゴリズムを使用して PHP Web サイトのユーザーデータを保護するにはどうすればよいですか?インターネットの急速な発展に伴い、Web サイトのユーザーデータ保護がますます重要になってきています。 PHP 開発では、暗号化アルゴリズムを使用してユーザー データのセキュリティを保護できます。この記事では、一般的に使用される暗号化アルゴリズムと、それらを PHP Web サイトで使用してユーザー データを暗号化する方法を紹介します。 1. 暗号化アルゴリズムの選択 PHP Web サイトの場合、ユーザー データのセキュリティを保護するために、次の一般的に使用される暗号化アルゴリズムを選択できます。 1. 対称暗号化アルゴリズム: このアルゴリズムは同じ暗号化アルゴリズムを使用します。

PHP Web サイトのセキュリティ対策には次のものが含まれます。 SQL インジェクションの防止: プリペアド ステートメントの使用またはユーザー入力のエスケープ。 XSS の防止: ユーザー入力をエスケープします。 CSRF を防ぐ: CSRF トークンを使用します。バッファ オーバーフローの防止: 最大入力長を設定します。最新情報を入手し、セキュリティ フレームワークを使用し、ファイアウォールを有効にし、Web サイトを監視し、セキュリティ監査を実施します。
