私は、認証されたユーザーがインデックスサイトのメッセージを書き込めるサイトを作成しています。特殊文字を含む機能
メッセージ作成サイトでは、ユーザーがメッセージのタイトルを入力できるテキストボックスと、メッセージを書くことができるテキストボックスがあります。
メッセージを.txtファイルに、私はの.txtファイルのタイトルを作成していますタイトルからして、次のようにエクスポートされます:
タイトル:これはメッセージです(ファイル名は次のようになります。thisisamessage .txt)
ファイル名として元のテキストは、ファイル名が.txtのデータベースrekordに格納されます。
タイトルテキストを変換するために、私はこのようになります機能を使用しています:
それはほとんどの時間で正常に動作しますが、時にはそれがその仕事をしていませんがfunction filenameconverter($title){
$filename=str_replace(" ","",$title);
$filename=str_replace("ű","u",$filename);
$filename=str_replace("á","a",$filename);
$filename=str_replace("ú","u",$filename);
$filename=str_replace("ö","o",$filename);
$filename=str_replace("ő","o",$filename);
$filename=str_replace("ó","o",$filename);
$filename=str_replace("é","e",$filename);
$filename=str_replace("ü","u",$filename);
$filename=str_replace("í","i",$filename);
$filename=str_replace("Ű","U",$filename);
$filename=str_replace("Á","A",$filename);
$filename=str_replace("Ú","U",$filename);
$filename=str_replace("Ö","O",$filename);
$filename=str_replace("Ő","O",$filename);
$filename=str_replace("Ó","O",$filename);
$filename=str_replace("É","E",$filename);
$filename=str_replace("Ü","U",$filename);
$filename=str_replace("Í","I",$filename);
return $filename;
}
。 例:「Pamutkéztörlőadagolóéshigiéniaikéztörlőadagoló」。 .txtのように。
pamutkeztorloadagoloeshigieniaikeztorloadagolo.txtとする必要があります。 しかし、時にはイムがこれを与えたときに、それは次のようになります。
pamutkă©ztă¶rlĺ'adagolăłă©shigiă©niaikă©ztă¶rlĺ'adagolăł.txt
私はハンガリーのだそうタイトルテキストもハンガリー語になります、それで私は文字を変更しなければならないのです。
私はapacheとphpmyadminでXAMPPを使用しています。
だから、なぜそれを.txtファイルに保存していますか?データベースにUTF-8文字エンコーディングを使用すると、そのような置換を行う必要がなく、データベースから送信されたテキストを取得するほうが意味があります。それとも、そうしない特定の理由がありますか? – FMashiro
それは私が思う問題を解決しますが、上記の機能がうまくいかない理由は何ですか? – zoldingo
これは自家製の機能ですが、何が間違っているのか正確にはわかりませんが、この回答は似たような質問で役に立ちます:http://stackoverflow.com/questions/1525830/how-do-i-use-filesystem -functions-in-php-utf-8-stringsを使う – FMashiro