ホームページ  >  記事  >  バックエンド開発  >  Linux で php が韓国語の txt ファイルにデータを挿入すると、挿入されたコンテンツの一部が失われます。

Linux で php が韓国語の txt ファイルにデータを挿入すると、挿入されたコンテンツの一部が失われます。

WBOY
WBOYオリジナル
2016-06-23 14:06:23971ブラウズ

助けてください、ヒーローたち! ! ! php プログラムを使用して韓国語の txt ドキュメントを挿入すると、ローカル コンピューター win7 はそれを正常に挿入し、通常の配列を出力できます。ただし、Linux サーバーに移動した後、同じインポート プログラムを再度実行して、同じ txt ファイルをインポートすると、挿入されたコンテンツの韓国語テキストの一部が失われ、出力された SQL と挿入された配列が正常ではなくなり、失われたコンテンツが発生しました。出力された SQL ステートメントと配列は表示されなくなりました。
サーバーのエンコード形式はローカル コンピューターとは異なりますか?



上記の問題はローカル コンピューターでは発生せず、Linux サーバーで発生します。


ディスカッションへの返信(解決策)

最も考えやすい問題は BOM ヘッダーです

でも、私が使用している形式は utf-8 なので、BOM ヘッダーを設定する必要はありませんね。 ?では、どうすれば解決できるのでしょうか?ありがとうございます

すべてのワープロ ソフトウェアは、非 ANSI エンコードのコンテンツを保存するときに、対応する文字セットの BOM ヘッダーを添付します
BOM ヘッダーの機能は、さまざまなシステムでファイルのコンテンツを正しく解釈することです

mysql はテキスト処理ソフトウェアではありませんが、優れた文字セット認識機能を備えているため、BOM ヘッダーの助けを必要としません。逆に、BOM は mysql に問題を引き起こします。 BOM ヘッダーはどの文字セットにも表示されないため (そうでない場合はテキストとして認識されます)、mysql はそれを処理する方法を知りません
通常、未知のエンコーディングの組み合わせが削除される結果、多かれ少なかれ削除される可能性があります。テキストが不完全で、文字化けもします

データベースの文字セットに問題があるはずだと思います (これには詳しくありません) 結局のところ、2 つのマシンは 2 つのデータベースであり、設定が異なる可能性があります

BOM の問題。 、アップロード (またはコピー) されたソフトウェアに設定がない場合、通常は追加や削除は行われません
バイトを使用してこの txt を渡すと、プログラムは改行問題を考慮します (win は rn、Linux は n)
まずテキストを読んで、読み取りに問題があるかどうかを確認してから、データをもう一度検討しましょう

ああ、遅れは深刻です、返信後に更新してから写真を数行投稿します。 win7 と Linux のデータ比較

インポートした txt 韓国語ドキュメントは euckr 形式で保存されました。形式を ANSI 形式に変更した後、インポートされたコンテンツは縮小されませんでしたが、すべての韓国語テキストが疑問符付きで表示されました。

ANSI は同じオペレーティング システムでのみ使用できます

可能であれば、テキストをパブリック ネットワークにアップロードしてください。確認します
次の宛先に送信できます。
パブリック ネットワーク Web サイトにリンクを入力してください
あなたのCSDN ネットワーク ディスクにアップロードし、共有します
CSDN のダウンロード チャンネル (ダウンロード ポイントがないことに注意してください) を指定し、リンクを与えます

ネットワーク ディスクにアップロードしましたが、まだレビューする必要はありません。リンクを提供するまでにどれくらい時間がかかるかわかります。
メールアドレスを教えていただければ送ります。

データベースの文字セットに問題があると思います (これについては詳しくありません)。 結局のところ、2 つのマシンは 2 つのデータベースであり、設定が異なる可能性があります。

アップロードされた (またはコピーされた) ) ソフトウェアには設定がないため、通常は追加や削除は行われません
バイト モードを使用してこの txt を転送すると、プログラムは改行問題を考慮します (win は rn、Linux は n)
まずテキストを読み取ってエコーします読み取りに問題があるかどうかを確認してから、データの側面を検討してください。


出力された SQL と配列の挿入も異常です。欠落部分も印刷されませんでした。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。