検索
ホームページバックエンド開発PHPチュートリアルPHPの文字化けに関する問題 [注:データベース接続時の文字化けではありません]

PHP文字化けの問題 [注:データベース接続時は文字化けしません]
環境:XPシステム、PHP 5.3.4、Apache Webサーバー2.2、mysql 5.5

PHPコード
<!--

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 オブジェクトを使用する必要がある $mysqli->query("set names gbk" on the Internet ") などは、$mysqli がまだ接続されておらず、他の関数を呼び出すとエラーが報告されるため、機能しません。 ..


(mysqlデータベースが正常に起動した後、他のデータベース接続エラーが表示されますが、英語なので文字化けはなくなりました...)

の疑いがありますこれは XP システムの言語設定に問題があり、$mysqli->connect_error が中国語を返し、結果が文字化けします...しかし、他のタイプのデータベース エラー ($mysqli->error) は英語を返します。 .

この状況にどう対処しますか?


よろしくお願いします~


------解決策------ ---
それは Web ページ上にありますか? まず、ページのエンコードを (ブラウザーのメニューで) 変更して、utf8 または gbk のエンコードとコンテンツを確認します。
次に、connect_errno=2002 の場合は変更します。自分でエンコード...


情報を独自のメッセージに置き換えることもできます....


------解決策---------
話し合う
SqlExceptionはExceptionを直接継承するカスタムクラスです。

------解決策---------
はい、そうです。
------解決策----------------------
最初の方法は、PHP Web ページのヘッダーの表示です。エンコーディング

では、名前を UTF-8 または GBK または GB2312 に設定することを忘れないでください。ただし、Web ページのヘッダーのものと同じである必要があります。
------解決策---------
2002 では、ローカル MySQL サーバーに接続できませんソケット '/tmp/mysql.sock'
そのため、詳しく説明する必要はありません。

これは、mysql クライアント API のバージョンと設定に関連している必要があります

場合本当に知りたいなら、調べてみましょう しつこい

で述べた情報を投稿します

について話し合う


引用:
ウェブ上にありますか最初にページのエンコーディングを変更します (ブラウザ メニュー (上) で、utf8 または gbk のエンコーディングとコンテンツを確認します。
次に、connect_errno=2002 の場合は、自分でエンコーディングを変更します...


情報を独自のメッセージに置き換えることもできます...

1. ブラウザで一般的に使用されている他のエンコードに変更しても、まったく変化はありません...
2.そう判断していただいても構いませんが、何が間違っていたのか知​​りたいのです...

------解決策---------今日学んだので、ダウンロードしたほうがいいと思いますデータベースは中国語の文字を処理しません。1 つは V6 バージョンで、もう 1 つは v9 であることに注意してください。

------解決策------------------メモ帳でファイルを開き、[ファイル]、[保存] の順にクリックします。 as - エンコーディングは UTF-8 を選択し、最後に OK

-----解決策---------コード化けの問題をもう一度見てください...ご確認くださいall ファイル形式はすべて UTF-8 で、ページの文字セットも UTF-8 ですか?

------解決策------------------

gbk-encoded: ターゲット マシンが積極的に拒否したため、接続できません。
mysql クライアントは、使用しているオペレーティング システムのデフォルト言語に基づいてローカライズされたエラー メッセージを生成します
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

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

PHP Fatal error: Call to undefined function mysqli_connect()的解决方法PHP Fatal error: Call to undefined function mysqli_connect()的解决方法Jun 23, 2023 am 09:40 AM

在使用PHP编写Web应用程序时,经常会使用MySQL数据库来存储数据。PHP提供了一种与MySQL数据库进行交互的方法,称为MySQLi。然而,有时在使用MySQLi时,会遇到一个错误信息,如以下所示:PHPFatalerror:Calltoundefinedfunctionmysqli_connect()这个错误信息意味着PHP无法找到my

php无法连接mysqli怎么办php无法连接mysqli怎么办Nov 09, 2022 am 10:07 AM

php无法连接mysqli的解决办法:1、打开“php.ini”文件;2、找到“mysqli.reconnect”;3、将“mysqli.reconnect = OFF”改成“mysqli.reconnect = on”即可。

mysql的运行文件是什么mysql的运行文件是什么Apr 11, 2023 am 10:38 AM

mysql的运行文件是mysqld;mysqld是一个可执行文件,代表着Mysql服务器程序,执行这个文件可以直接启动一个服务器进程;而mysqld_safe是一个启动脚本,它会间接调用mysqld,并且还会顺带启动一个监控进程。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

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

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

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

PHP PDO 与 mysqli:比较和对比PHP PDO 与 mysqli:比较和对比Feb 19, 2024 pm 12:24 PM

PDOPDO是一个面向对象的数据库访问抽象层,它为PHP提供了一个统一的接口,允许您使用相同的代码与不同的数据库(如Mysql、postgresql、oracle)进行交互。PDO隐藏了底层数据库连接的复杂性,简化了数据库操作。优缺点优点:统一接口,支持多种数据库简化数据库操作,降低开发难度提供预处理语句,提高安全性支持事务处理缺点:性能可能比原生扩展稍低依赖外部库,可能会增加开销演示代码使用PDO连接mysql数据库:$db=newPDO("mysql:host=localhost;dbnam

PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解决方法PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解决方法Jun 23, 2023 am 08:54 AM

如果你使用PHP连接MySQL数据库时遇到了以下错误提示:PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused那么你可以尝试按照下面的步骤来解决这个问题。确认MySQL服务是否正常运行首先应该检查MySQL服务是否正常运行,如果服务未运行或者启动失败,就可能会导致连接被拒绝的错误。你可

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

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

メモ帳++7.3.1

メモ帳++7.3.1

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