ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで FCK によってアップロードされた画像ファイル名が文字化けする

PHP_PHP チュートリアルで FCK によってアップロードされた画像ファイル名が文字化けする

WBOY
WBOYオリジナル
2016-07-13 10:57:02737ブラウズ

fck を使用している友人はこのような状況に遭遇する可能性がありますが、英語の文字をアップロードすると、中国語の名前が文字化けします。

主な原因は、fck のエンコード (utf-8) コードがローカルのエンコード (gbk) と矛盾していることです。これは、次の 5 つのファイルを変更することで解決できます

FileUpLoad 関数 ckeditor/" target="_blank">fckeditoreditorfilemanagerconnectorsphpcommands.php を変更します

ファイル内で次のコードを見つけます:

その後に文を追加します:
コードは次のとおりです コードをコピー

// 拡張機能を取得します。 $sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ; $sExtension = strto lower( $sExtension ) ;

コードは次のとおりですコードをコピー$sFileName = strtotime('now').'.'.$sExtension; 別の解決策は、中国語の名前を維持することです

このように、ファイル名は現在のタイムスタンプ + サフィックス名になります。中国語の文字化けの問題だけでなく、ファイル名が重複する問題も解決します

ファイル 4: fckeditoreditorfilemanagerconnectorsphpcommands.php

見つかりました

コードは次のとおりです

コードをコピー関数 FileUpload( $resourceType, $currentFolder, $sCommand ){。 。 。

見つかりました

//move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

move_uploaded_file( $oFile['tmp_name'], iconv("utf-8","gbk",$sFilePath));

}

ファイル名 $sFilePath をトランスコードします。

ファイル 5: fckeditoreditorfilemanagerconnectorsphputil.php

見つかりました

コードは次のとおりです

コードをコピー関数 ConvertToXmlAttribute( $value ){ 。 。 。

見つかりました

//return ( utf8_encode( htmlspecialchars( $value ) ) ) ;

return iconv("GBK", "UTF-8", htmlspecialchars( $value ));

}

コンテンツをトランスコードします。

http://www.bkjia.com/PHPjc/632133.html

www.bkjia.com

http://www.bkjia.com/PHPjc/632133.html技術記事 fck を使用している友人は、このような状況に遭遇する可能性があります。ファイル名を英語の文字でアップロードすると、中国語の名前が文字化けします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。