search
HomeBackend DevelopmentPHP Tutorial PHP乱码的有关问题【注:不是连接数据库乱码】

PHP乱码的问题【注:不是连接数据库乱码】
环境:XP系统, PHP 5.3.4, Apache web server 2.2, mysql 5.5

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
try{
   $mysqli = new mysqli("localhost","username","password","db1",3306); //当mysql服务没开启时...
   if($mysqli->connect_errno){
        //注:SqlException是直接继承Exception的自定义类。
        // echo $mysqli->connect_error; //乱码的来源...
        throw new SqlException($mysqli->connect_error,$mysqli->connect_errno); 
   }
}catch(SqlException $e){
   echo $e->getMessage(); //乱码
}



当mysql数据库服务没启动的时候,上面的php语句输出一堆乱码(错误号:2002)……

网上有调用$mysqli->query("set names gbk")等的需要使用$mysqli对象的都不行,因为$mysqli都还没连接,调用其它函数会报错……


(mysql数据库正常启动后,其它数据库连接错误显示的却是英文,不再出现乱码了……)

怀疑是XP系统下语系设置的问题,导致$mysqli->connect_error返回中文,结果变乱码了……但其它类型的数据库错误($mysqli->error)返回的却是英文……

请问下这种情况怎么处理啊?


先谢谢了~


------解决方案--------------------
在网页上吗? 先改变一下页面编码(浏览器菜单上)看看到底是什么编码及内容, utf8或gbk, 
然后如果connect_errno=2002就自己转一下编码...


也可以用自己的message代替该信息....


------解决方案--------------------
探讨
SqlException是直接继承Exception的自定义类。

------解决方案--------------------
是的 确实 这样
------解决方案--------------------
首先是你PHP的网页头文的显示的编码

然后记得set name UTF-8 或者GBK 或者GB2312 但是要和网页头里的一样
------解决方案--------------------
2002 就是 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
所以你完全可以不细究.

应该和你的mysql client api的版本及设置有关

实在想知道可以照楼上唠叨说的把信息贴上来

探讨

引用:
在网页上吗? 先改变一下页面编码(浏览器菜单上)看看到底是什么编码及内容, utf8或gbk,
然后如果connect_errno=2002就自己转一下编码...


也可以用自己的message代替该信息....


1.浏览器里改变成其它常用编码完全没变化……
2.可以那样判断,但是想搞清楚哪里出问题了...

------解决方案--------------------
今天学了,,想应该是你下载的数据库,不对汉字处理 啊,,记得是,一个是 V6 版本,还有一个是v9
------解决方案--------------------
用记事本打开文件 然后点:文件-另存为-编码选择UTF-8 最后就OK啦
------解决方案--------------------
又见乱码问题……你确认所有的文件格式都是UTF-8,页面字符集也是UTF-8么?
------解决方案--------------------
gbk 编码的:由于目标机器积极拒绝,无法连接。

mysql 客户端会根据你所使用的操作系统的默认语言产生本地化的错误信息
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Email: Step-by-Step Sending GuidePHP Email: Step-by-Step Sending GuideMay 09, 2025 am 12:14 AM

PHPisusedforsendingemailsduetoitsintegrationwithservermailservicesandexternalSMTPproviders,automatingnotificationsandmarketingcampaigns.1)SetupyourPHPenvironmentwithawebserverandPHP,ensuringthemailfunctionisenabled.2)UseabasicscriptwithPHP'smailfunct

How to Send Email via PHP: Examples & CodeHow to Send Email via PHP: Examples & CodeMay 09, 2025 am 12:13 AM

The best way to send emails is to use the PHPMailer library. 1) Using the mail() function is simple but unreliable, which may cause emails to enter spam or cannot be delivered. 2) PHPMailer provides better control and reliability, and supports HTML mail, attachments and SMTP authentication. 3) Make sure SMTP settings are configured correctly and encryption (such as STARTTLS or SSL/TLS) is used to enhance security. 4) For large amounts of emails, consider using a mail queue system to optimize performance.

Advanced PHP Email: Custom Headers & FeaturesAdvanced PHP Email: Custom Headers & FeaturesMay 09, 2025 am 12:13 AM

CustomheadersandadvancedfeaturesinPHPemailenhancefunctionalityandreliability.1)Customheadersaddmetadatafortrackingandcategorization.2)HTMLemailsallowformattingandinteractivity.3)AttachmentscanbesentusinglibrarieslikePHPMailer.4)SMTPauthenticationimpr

Guide to Sending Emails with PHP & SMTPGuide to Sending Emails with PHP & SMTPMay 09, 2025 am 12:06 AM

Sending mail using PHP and SMTP can be achieved through the PHPMailer library. 1) Install and configure PHPMailer, 2) Set SMTP server details, 3) Define the email content, 4) Send emails and handle errors. Use this method to ensure the reliability and security of emails.

What is the best way to send an email using PHP?What is the best way to send an email using PHP?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

Best Practices for Dependency Injection in PHPBest Practices for Dependency Injection in PHPMay 08, 2025 am 12:21 AM

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHP performance tuning tips and tricksPHP performance tuning tips and tricksMay 08, 2025 am 12:20 AM

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

PHP Email Security: Best Practices for Sending EmailsPHP Email Security: Best Practices for Sending EmailsMay 08, 2025 am 12:16 AM

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment