PHPのコード化け問題、UTF-8のコード化けよくある問題のまとめ
1. HTML ページの UTF-8 エンコードへの変換の問題
1. ヘッダーの後とタイトルの前に行を追加します:
コードは次のとおりです:
{
echo strlen ($str) ."
";
if(strlen($str) > $max_length)
{
$check_num = 0; $i=0; i
{
if (ord($str[$i]) > 128)
$check_num ;
if($ check_num % 3 == 0)
$str = substr( $str, 0, $max_length)."...";
else if($check_num % 3 == 1)
$str = substr($str, 0, $max_length 2).".. .";
else if($check_num % 3 == 2)
$str = substr($str, 0, $max_length 1). "...";
}
return $ str;
3. MYSQL データベースの UTF-8 エンコーディングの使用に関する問題
1. phpmyadmin を使用してデータベースとデータ テーブルを作成します
データベースを作成するときは、「組織」を設定してください。 to : "utf8_general_ci"
または次のステートメントを実行します:
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
データ テーブルを作成する場合: このフィールドに中国語を格納する場合は、次のようにする必要があります。 Organization" は、"utf8_general_ci"、
フィールドに英語または数字が格納されている場合は、デフォルトで問題ありません。
対応する SQL ステートメント (例:
コードをコピーします) コードは次のとおりです:
CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
2. PHP を使用してデータベースの読み取りと書き込みを行います
データベースに接続した後:
[hide]$connection = mysql_connect($host_name, $) host_user, $host_pass);
2 行を追加します:
コードをコピーします コードは次のとおりです:
mysql_query("setcharacter set 'utf8'" );//ライブラリを読み取ります
mysql_query("set names 'utf8'");//ライブラリを書き込みます
と、読み取りと書き込みが可能です通常は MYSQL データベース。
4. JS に関連する UTF-8 エンコーディングの問題
1. JS が Cookie を読み取るときに中国語が文字化けする問題
PHP が Cookie を書き込むときは、中国語の文字が文字化けする必要があります。エンコードされたエスケープエンコーディング、
そうしないと、Cookie 内の JS によって読み取られる中国語の文字が文字化けします。
しかし、PHP 自体にはエスケープ関数がありません。新しいエスケープ関数を作成しましょう:
コードをコピーします コードは次のとおりです:
functionscape($str)
{
preg_match_all("/[x80-xff].|[x01-x7f] /",$str,$r); = $r[0];
foreach($ar as $k=>$v)
{
if(ord($v[0]) $ar[ $k] = rawurlencode($ v);
else
$ar[$k] = "%u".bin2hex(iconv("UTF-8","UCS-2",$v));
}
return join("",$ar)
}
JS が Cookie を読み取るときに、unescape を使用してデコードします。
これで、Cookie 内の中国語の文字化けの問題は解決されます。
2. 外部 JS ファイルの UTF-8 エンコードの問題
HTML ページまたは PHP ページに外部 JS ファイルが含まれている場合、
HTML ページまたは PHP ページ
外部 JS ファイルも UTF-8 ファイルに変換する必要があります。そうしないと、インクルードが存在しないように見えます。関数呼び出し時の応答。
エディターのメニューをクリックします:「ファイル」->「名前を付けて保存」、現在のファイルのエンコードが表示されます。ファイルのエンコードが UTF-8、
の場合ANSI です。エンコーディングを UTF-8 に変更する必要があります。
5. FLASH に関連する UTF-8 エンコーディングの問題
FLASH の内部のすべての文字列はデフォルトで UTF-8 で処理されます 1. (txt、html)
テキスト ファイルのエンコーディングを UTF-8 として保存するには
エディターのメニュー「ファイル」->「名前を付けて保存」をクリックすると、現在のファイルのエンコーディングが表示されます。ファイルのエンコードが UTF-8 であることを確認してください。
ANSI の場合は、エンコードを UTF-8 に変更する必要があります。
2. FLASH は XML ファイルを読み取ります
XML ファイルのエンコーディングを UTF-8 として保存するには
エディター メニューをクリックして、[ファイル] -> [名前を付けて保存] をクリックし、現在のファイルのエンコーディングを確認します。ファイルのエンコードが UTF-8 であることを確認してください。
ANSI の場合は、エンコードを UTF-8 に変更する必要があります。
XML の 1 行目に次のように記述します。
3. FLASH は PHP を読み取り、データを返します。
PHP エンコード自体が UTF-8 の場合は、直接エコーします。
PHP エンコード自体が UTF-8 の場合は、 GB2312 はい、PHP を UTF-8 エンコード形式のファイルに転送し、それを直接エコーするだけです。
PHP エンコード自体が GB2312 で、ファイルのエンコード形式の変更が許可されていない場合は、
文字列を変更するには次のステートメントを使用します。文字列を UTF-8 エンコード形式に変換します
$new_str = iconv("GB2312", "UTF-8", "$str");
もう一度エコーします
4. FLASH はデータベース (MYSQL) データを読み取ります。
FLASH は PHP を通じてデータベース内のデータを読み取る必要があります。
PHP 自体のエンコードは重要ではありません。データベースのエンコードが GB2312 の場合、
は必要です。次のステートメントを使用して文字列を UTF-8 エンコード形式に変換する必要があります
$new_str = iconv("GB2312", "UTF-8", "$str");
5。 PHP を介したデータ
一言で言えば、FLASH 渡される文字列は UTF-8 形式です。
操作 (ファイルの書き込み、データベースの書き込み、直接表示など) の前に、対応するエンコード形式に変換する必要があります。 🎜> または、iconv 関数を使用して変換します
6. FLASH はローカル エンコーディングを使用します (理論的には推奨されません)
FLASH で UTF-8 エンコーディングを使用せず、ローカル エンコーディングを使用したい場合
中国本土の場合、ローカルのエンコードは GB2312 または GBK
AS プログラムに次のコードを追加できます:
System.useCodepage = true
その後、FLASH 内のすべての文字が GB2312 を使用してエンコードされます
すべてのデータがインポートされますローカルエンコードを使用すると、繁体字中国語地域のユーザーに文字化けが発生するため、エンコード変換
は推奨されません。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

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