私は、タブ区切りのテキストファイルをユーザーから受信して解析する小さなWebアプリケーションを作成しています。これらのファイルは、textarea
またはmultipart/form-data
形式でアップロードされます。これらのファイルは、アジアなどのさまざまな文字セットになります。結果的に私はアプリ全体でutf-8を使用しようとしています。php Webアプリケーション用の完全なutf-8準拠ですか?
サイト完全に(私の知る限りでは)UTF-8である:
- 各PHPファイルがUTF-8エンコーディングで保存されます。
- 私は
php.ini
ファイルにdefault_charset = "utf-8"
を追加しました。 HTMLヘッダが含まれている必要なUTF-8が言及:
header('Content-Type:text/html; charset=UTF-8'); ... <?xml version="1.0" encoding="utf-8" ?> ... <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
textarea
形態はaccept-charset="UTF-8"
タグを含みます。- dbをutf-8で照合する。
- dbへの各接続には、オプション
1002 => 'SET NAMES utf8'
が含まれています。
今、私はちょうど私が手動で(私は&はタブや改行を置き換える識別するためにmb_split()
を使用)動作するように私の解析機能の一つにUTF-8からmb_regex_encoding
を設定するために必要なことを発見しました。だから...
私のサイトが一度だけであり、すべてのutf-8が一貫していることを確認するために何が必要ですか?特に、mb_internal_encoding()
のような他のエンコーディング関数がありますか?その場合、コード内のどこで(例えば、index.php
ファイルの先頭に)?
あなたはhttp://stackoverflow.com/questions/1317152 – Vitamin
@Vague見ました - はい、それは 'mb_regex_encoding'も' mb_internal_encoding'どちらも言及しています。 – JDelage
@JDelage:PCRE関数もUTF-8と同様に、FYIのみとなります。 'SET NAMES utf8'を使わないでください。http://php.net/manual/en/mysqli.set-charset.php – hakre