总结下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 Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











우리 모두 알고 있듯이 웹사이트 SEO 최적화는 웹사이트 운영에 있어서 매우 중요한 부분입니다. 많은 웹사이트에서 사용하는 동적 웹 시스템(예: PHP)의 기본 URL에는 확장자(.php, .html 등)가 있으며 이는 웹사이트의 SEO 효과에 영향을 미칩니다. 웹사이트의 최적화 효과를 높이기 위해 동적 URL을 유사 정적 URL로 변경하여 확장명을 숨기고 웹사이트의 사용자 경험과 검색 엔진 순위를 높이는 것이 일반적인 관행입니다. 이 기사에서는 "의사 정적 숨겨진 PHP 접미사"를 주제로 PHP 웹사이트에서 이러한 최적화를 달성하는 방법을 소개하고,

Empire cms 템플릿 개발 방법은 다음과 같습니다. 1. 템플릿 구조 이해 3. 태그 및 변수 사용 5. CSS 및 JS 사용 7. 디버깅 그리고 테스트.

PHP로 개발된 웹사이트는 다음과 같습니다: 1. 세계 최대 소셜 미디어 플랫폼 중 하나인 Facebook 2. 세계 최고의 온라인 백과사전인 Wikipedia 3. 널리 사용되는 오픈 소스 블로그 및 콘텐츠 관리 시스템인 Twitter 소셜 미디어 플랫폼 5. 세계적으로 유명한 포털인 Yahoo 6. 온라인 이미지 호스팅 및 공유 플랫폼인 Flickr 7. 전문 소셜 미디어 플랫폼인 LinkedIn

PHP로 만든 웹사이트는 다음과 같습니다: 1. 세계 최대 소셜 미디어 플랫폼 중 하나인 Facebook 2. 전 세계 사용자가 편집하는 온라인 백과사전 3. 인기 있는 오픈 소스 블로그 및 콘텐츠 관리 시스템인 WordPress , 널리 사용되는 팀 협업 도구 5. 강력한 오픈 소스 전자 상거래 플랫폼인 Magento 6. 수공예품 및 독립 디자이너를 위한 온라인 마켓플레이스인 Etsy.

PHP 웹사이트 구축에는 다음 단계가 포함됩니다. 1. 환경을 준비하고, PHP 개발 환경을 설치하고, 웹사이트 루트 디렉터리를 생성합니다. 2. 홈페이지 index.php 및 기타 필수 파일을 포함한 기본 파일 구조를 생성합니다. 3. 홈 페이지 콘텐츠를 작성하고, HTML 및 PHP를 사용하여 페이지 구조를 구축하고, 콘텐츠를 동적으로 생성합니다. 4. 다른 페이지를 추가하고 다른 PHP 파일을 생성하여 페이지 콘텐츠를 처리합니다. 5. 데이터베이스에 연결(선택 사항)하고, PHP를 사용하여 데이터베이스에 연결하고 데이터를 조작합니다. 6. 스타일과 대화형 효과를 디자인하고 CSS와 JavaScript를 사용하여 웹사이트의 아름다움과 상호작용성을 향상시킵니다. 7. 웹사이트를 배포하고 웹사이트 파일을 서버에 업로드하거나

보안 코딩 방법을 사용하여 PHP 웹사이트를 보호하는 방법은 무엇입니까? 인터넷이 대중화되고 발전함에 따라 점점 더 많은 웹사이트에서 PHP를 개발 언어로 사용하고 있습니다. 그러나 PHP의 유연성과 사용 용이성은 다양한 보안 위협에도 취약합니다. 따라서 PHP 웹사이트를 개발할 때 가능한 공격으로부터 웹사이트를 보호하기 위해 보안 코딩 방법을 적용하는 것이 필수적입니다. 이 기사에서는 보안 코딩 방법을 사용하여 PHP 웹사이트를 보호하는 몇 가지 방법을 소개하고 해당 코드 예제를 제공합니다. 입력 검증 및 필터링 입력 검증 및 필터링은 PHP 웹사이트를 보호하는 핵심입니다.

PHP 웹사이트의 사용자 데이터를 보호하기 위해 암호화 알고리즘을 사용하는 방법은 무엇입니까? 인터넷의 급속한 발전으로 인해 웹사이트의 사용자 데이터 보호가 점점 더 중요해지고 있습니다. PHP 개발에서는 암호화 알고리즘을 사용하여 사용자 데이터의 보안을 보호할 수 있습니다. 이 기사에서는 일반적으로 사용되는 암호화 알고리즘과 이를 PHP 웹사이트에서 사용하여 사용자 데이터를 암호화하는 방법을 소개합니다. 1. 암호화 알고리즘 선택 PHP 웹사이트의 경우 사용자 데이터 보안을 보호하기 위해 일반적으로 사용되는 다음 암호화 알고리즘을 선택할 수 있습니다. 1. 대칭 암호화 알고리즘: 이 알고리즘은 동일한 암호화 알고리즘을 사용합니다.

PHP 웹사이트 보안 조치에는 다음이 포함됩니다. SQL 주입 방지: 준비된 명령문 사용 또는 사용자 입력 이스케이프. XSS 방지: 사용자 입력을 피합니다. CSRF 방지: CSRF 토큰을 사용합니다. 버퍼 오버플로 방지: 최대 입력 길이를 설정합니다. 최신 정보를 유지하고, 보안 프레임워크를 사용하고, 방화벽을 활성화하고, 웹사이트를 모니터링하고, 보안 감사를 수행하세요.
