2

これ:

<td><?php echo form_input('post_title',set_value('post_title',$post->post_title)); ?></td>

ギリシャ文字 (またはラテン文字以外) を &#xxx としてページに表示します。

これ:

<p>Title: <input name="post_title" type="text" value="<?php echo $post->post_title ?>"/></p>

正しく表示します。

ウェブページ

私の MySQL タイプは MyISAM と utf8_latin_ci 照合です。

phpMyAdmin からブラウズしようとしても、&#xxx でギリシャ語が表示されます...

phpMyAdmin

間違いはどこですか?

PSフォームヘルパーメソッドに関するcodeigniterマニュアルから

構成ファイルの文字セット値に基づいて、常に属性 accept-charset を追加します。

私の設定ファイルはに設定されています

$config['charset'] = 'UTF-8';

更新: マイページのヘッダー:

GET /posts/editpost/23 HTTP/1.1
Host: my.xxx.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22
Referer: http://my.xxx.com/posts
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
4

2 に答える 2

1

これは、文字セットの一般的な問題です。HTML ファイル、CI 構成ファイル、およびデータベースで最も重要な場所など、すべての場所で文字セットのエンコードを同じにしてください。データベースの作成中に、UTF-8 または使用する言語に適したその他の言語を選択します (ほとんどの言語では UTF-8 が機能します)。または、個々のテーブルに対しても変更できます。これらの変更を行ってください。ギリシャ語用の正しい変更が得られます。ありがとうございました

于 2013-03-16T05:37:41.383 に答える
0

次の 3 つの Text ヘルパー関数を試してみてください。

ascii_to_entities()

また

entities_to_ascii()

また

convert_accented_characters()

データベースにどのように保存したかによって異なります

それらはCIの テキストヘルパーからのものです:

http://ellislab.com/codeigniter/user-guide/helpers/text_helper.html

このヘルパーもロードすることを忘れないでください;)

于 2013-03-16T12:51:45.727 に答える