3

発音区別符号http://img98.imageshack.us/img98/3383/dijakritickiznakovi.gif

したがって、表示タイトルの下の記号はそのように表示する必要があります。
UTF-8エンティティはHTML(utf-8)タイトルの下にリストされています(ここにリストがあります:LINK
そして最後の行は私のデータベースに保存されているものを示しています。
dbテーブルの照合はですutf8_unicode_ci
db内のシンボルは、私の場合のようにすべきではないと思いますか?データベースからロードすると、ページに正しく表示されますが、指定されたリンクからutf-8テーブルにすべてが表示されるわけではありません。私がそれらを正しく見たとしても、他の誰かが見ないかもしれませんか?

4

2 に答える 2

4

MySQLテーブルの文字セットを設定するだけでは不十分です。クライアント、接続、および結果に対して正しい文字セットを設定するように注意する必要があります。デフォルトはサーバーごとに異なり、データベースの移植性が低下する可能性があります。同じデータベースコンテンツが別のサーバーに移動すると、表示が異なります。

私はしばらくの間スロベニア語のテキストをMySQLに保存してきましたが、これが私にとってうまくいくものです。

  • 接続後に最初に行うことは、「SETNAMESutf8」クエリを発行することです。
  • 保存する文字列が最初にutf-8であることを確認してください。Webページフォームから文字列を取得する場合は、ページがUTF-8であることを確認してください。
  • オンラインでデータベースの内容を閲覧/編集するためにどのツールを使用するかに注意してください。PhpMysqlAdminは間違いなく安全ではありません。

お役に立てれば。

于 2009-10-04T14:45:06.640 に答える
3

HTMLでエンコードされた文字列をデータベースに保存しようとしているようです。そうしないでください。確実に検索するなどの文字列操作を実行する能力が損なわれるだけです。生のUTF-8エンコード文字をバイトとしてデータベースに保存できるはずです。

データベースの読み取りに使用している環境や、下部にある「不正な」文字列(ISO-8859-1エンコーディングを使用して読み取られたUTF-8バイト)を取得する方法については説明しません。それらがWebページに表示されている場合(およびヘッダーや<meta>タグでUTF-8を指定している場合)、おそらくほとんどそこにあります。

于 2009-10-04T12:47:17.673 に答える