常に UTF-8 を使用してください
P粉964682904
P粉964682904 2023-08-27 16:00:18
0
2
577
<p> 新しいサーバーをセットアップしており、Web アプリケーションで UTF-8 を完全にサポートしたいと考えています。過去に既存のサーバーでこれを試してみましたが、常に最終的に ISO-8859-1 にフォールバックする必要があるようでした。 </p> <p>エンコーディング/文字セットは正確にどこで設定する必要がありますか?これを行うには、Apache、MySQL、および PHP を構成する必要があることはわかっています。従うことができる標準的なチェックリストはありますか、または不一致が発生した場合のトラブルシューティングは可能ですか? </p> <p>これは、MySQL 5、PHP、5、および Apache 2 を実行する新しい Linux サーバーに適用されます。 </p>
P粉964682904
P粉964682904

全員に返信(2)
P粉854119263

chazomaticus の素晴らしい回答 一个> に 1 つ追加したいことがあります:

META タグ (これ、または その HTML4 または XHTML バージョン など):

も忘れないでください。 リーリー

これは些細なことのように思えるかもしれませんが、IE7 では以前にも問題が発生しました。

すべて正しく行っています。データベース、データベース接続、および Content-Type HTTP ヘッダーはすべて UTF-8 に設定されており、他のすべてのブラウザでは正常に動作しますが、Internet Explorer は依然として「西ヨーロッパ言語」を使用することを要求します。エンコーディング。

ページに META タグが欠落していることが判明しました。それを追加すると問題が解決します。

######編集:######

W3C には実際には、I18N 専用のかなり大きな セクションがあります。この問題に関連する記事が多数あり、HTTP、(X)HTML、CSS の側面について説明しています:

FAQ: (X)HTML ページのエンコードを UTF-8 に変更する

いいねを押す +0
P粉763662390

######データストレージ###:###

データベース内のすべてのテーブルとテキスト列に

utf8mb4
    文字セットを指定します。これにより、MySQL は、UTF-8 でネイティブにエンコードされた値を物理的に保存および取得します。MySQL は暗黙的に使用することに注意してください。
  • utf8mb4

    照合順序が指定されている場合のエンコード (明示的な文字セットなし)。 MySQL の古いバージョン (utf8 を使用する必要があります。 .

  • ######データアクセス###:###

    アプリケーション コード (PHP など) では、どのような DB アクセス方法を使用する場合でも、接続文字セットを

    utf8mb4
  • に設定する必要があります。このようにすると、MySQL はそのコードからの変換を行いません。アプリケーションにデータを渡すとき、またはその逆の場合はネイティブ UTF-8 です。

一部のドライバーは、接続文字セットを構成するための独自のメカニズムを提供します。これにより、ドライバー自体の内部状態が更新され、接続で使用するエンコーディングが MySQL に通知されます。通常、これが推奨されるアプローチです。 PHP の場合:

  • PHP 5.3.6 以降で PDO 抽象化レイヤーを使用している場合は、

    DSN
  • :## で
  • charset

    を指定できます。 # リーリー

    utf8
  • に関する同じ考慮事項が上記に適用されます。
  • ######出力###:### UTF-8 は、Content-Type: text/html; charset=utf-8

    のように HTTP ヘッダーに設定する必要があります。これは、
  • default_charset を設定することで実現できます。 php.ini の

    (推奨)、または header() 関数を手動で使用します。

    アプリケーションが他のシステムにテキストを転送する場合、文字エンコーディングも認識している必要があります。 Web アプリケーションの場合、データを送信するエンコーディングをブラウザーに (HTTP 応答ヘッダーまたは
  • HTML メタデータ
経由で) 伝える必要があります。

json_encode()

を使用して出力をエンコードする場合、2 番目のパラメーターとして
    JSON_UNESCAPED_UNICODE
  • を追加します。 ######入力###:###その他のコードのメモ

    :

      明らかに、提供するすべてのファイル (PHP、HTML、JavaScript など) は有効な UTF-8 を使用してエンコードする必要があります。
    • UTF-8 文字列を処理するたびに、安全に処理できることを確認する必要があります。残念ながら、これが難しい部分です。おそらく、PHP の
    • を広範囲に使用することをお勧めします。

      mbstring 拡張子.

    • PHP の組み込み文字列操作は、デフォルトでは

      not です。 通常の PHP 文字列操作 (連結など) で安全に実行できることがいくつかあります。ただし、ほとんどの場合、同等の mbstring 関数を使用する必要があります。

    • 自分が何をしているのかを知るには (台無しにしないでください)、UTF-8 とそれが可能な限り最低レベルでどのように動作するかを本当に理解する必要があります。知っておくべきことすべてに関する優れたリソースについては、
    • utf8.com

      のリンクをチェックしてください。 p>

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!