均一なページエンコーディング
MySQL データベースのエンコーディング、HTML ページのエンコーディング、PHP または HTML ファイル自体のエンコーディングはすべて一貫している必要があります。
1. MySQL データベースのエンコーディング: データベースの作成時にエンコーディング (gbk_chinese_ci など) を指定します。データ テーブルの作成、フィールドの作成、およびデータの挿入時にエンコーディングを指定しないでください。
データベースに接続するときにもエンコードがあります。データベースに接続した後、
mysql_query(‘SET NAMES gbk’); //gbk を utf8 などのエンコードに置き換えます。
2. HTML ページのエンコーディングは、次の行の設定を参照します:
PHP または html;ファイル独自のエンコーディング: editplus を使用して php ファイルまたは html ファイルを開きます。データベースとページのエンコーディングが gbk の場合は、ここでエンコーディングとして ansi を選択します。ここでもutfは-8です。
iconv('utf-8', 'gbk', $content);
5. PHP プログラムでは、PHP ソース プログラムのエンコーディングを指定する行を追加できます:
header('Content-type: text/ html; charset=gbk');
1. ファイルヘッダーのエンコーディングを設定します
@header('Content-type: text/html;charset=UTF-8');
> ?
2. ヘッダーを使用したことがないので、この設定と ブラウザ視聴とは違うんですか? ? ? [/quote]
それらはすべて、Web ページを表示するために使用するエンコーディングをブラウザーに指示します。違いがあるとすれば、1 つは元の HTTP ヘッダーを送信し、Web ページには何も残さないことです。一方、あなたが話しているのは、ウェブページに書かれています。
まず、作成したページにこれがない場合は、HTTP ヘッダーを送信すると機能します。
2 番目に、header() 関数を使用して元の HTTP ヘッダーを送信します。これには、より多くのコンテンツを含めることができます。エンコーディングの設定はそのうちの 1 つにすぎません。
3 番目に、Web ページにコンテンツを表示する必要がない場合がありますが、後続のアクションに使用するエンコーディングをブラウザーに通知する必要があります。
3
//この関数は文字列が漢字かどうかを判定します
function chkGB($str){
if (preg_match("/^[".chr(0xa1)."-".chr( 0xff)."]+$/", $str)) {
return true;
} else {
return false;
}
}
//if(chkGB('')){
// echo 'いいね';
//}else{
// echo "bad";
//}
function tep_limit_string($str_show,$length,$post_string='…'){
$mn_curr=0;
$str_output= ”;
$str_show=trim($str_show);
for ($i=0;$i
/ / echo [...]
記事リンク: http://www.cnblogs.com/eshow/archive/2011/10/05/2199305.html