2017-06-24 10 views
1

挿入テルグ語カテゴリphpを使ってmysqlにtelugu文字を挿入するにはどうしたらいいですか?

enter image description here

などの文字が、それはこのクエリとUTF8の互換性のためにこの

enter image description here

+0

私は以下があなたを助けると信じていますhttps://stackoverflow.com/questions/1198701/storing-and-displaying-unicode-string-%E0%A4%B9%E0%A4%BF% E0%A4%A8%E0%A5%8D%E0%A4%A6%E0%A5%80-php-and-mysqlを使用する –

+0

あなたがしていることについてより多くの文脈を共有するのはおそらく良い考えです。どのようにあなたはmysqlとインターフェースしていますか? –

+0

ここにあなたの質問に対する回答があります。https://stackoverflow.com/a/43449998/4677060 –

答えて

2

私はUTF-8 charactersの同じ問題に直面していました。すべてがライブサーバーとステージングサーバーで動作していましたが、いつかは私の開発者マシンが壊れています。行動はとても奇妙だった、いくつかの倍の文字が適切にエンコードされたランダムなページではDiamond Charters'���เห็นอเวิลด์!���'またはQuestion mark'??�เห็นอเวิลด์!???'または85%のデータが正しく'เห็นอเวิลด์!?��'をレンダリングされたと壊し始めるが、15%は比類のない文字を示した休またリロードしました。私は問題を解決しようとしていた。HTML


2文字のヘッダを追加しましたか確認してください - - だから、私のチェックリスト

1で開始し、データが適切なMySQLのテーブルに保存されているかどうかをチェックし


3 - MySQLはUTF-8


4のための適切なエンコード設定を持っているかどうかをチェック - ApacheがUTF-8文字に対処するために設定しているかどうかをチェックし

を設定

5は - シンプルなPHPをエコーすることができた場合、 "เห็นอเวิลด์"


6 "เห็นอเวิลด์" 入力と同じ出力をチェック - PHPが適切なヘッダの出力を送信する場合はチェックを


7 - MySQLクエリg "อเห็นเวิลด์" 同じデータをetting


8 - "เห็นอเวิลด์" 一部のHTML文字を持って、適切に彼らと


を扱うかどうかをチェック

9 - "เห็นอเวิลด์"がNY HTMLエンコードデコード機能


10-チェックの.htaccessは、UTF-8文字に対処するために、すべてのセットが


上記のすべてのチェックを設定した場合どこか何かが壊れていることを知るためのリスト。

(私はCodeIgniterの使用しています)試してみる:

================================= 
:: PHP ini Settings:: 
================================= 

default_charset = "utf-8" 
mbstring.internal_encoding=utf-8 
mbstring.http_output=UTF-8 
mbstring.encoding_translation=On 
mbstring.func_overload=6 

================================= 
:: .htaccess Settings:: 
================================= 

DefaultLanguage en-US 
AddDefaultCharset UTF-8 

================================= 
:: HTML Header Page:: 
================================= 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

================================= 
:: PHP Codeigniter index.php :: 
================================= 

header('Content-Type: text/html; charset=UTF-8'); 

================================= 
:: Codeigniter config.php :: 
================================= 

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

================================= 
:: Codeigniter database.php :: 
================================= 

$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 

================================= 
:: Codeigniter helper function (optional) 
================================= 

if(!function_exists('safe_utf_string')){ 
    function safe_utf_string($utf8string= ''){ 
     $utf8string = htmlspecialchars($utf8string, ENT_QUOTES, 'UTF-8'); 
     return mb_convert_encoding($utf8string, 'UTF-8'); 
    } 
} 

幸運を! :)

1
  • 最初のチェックのように表示します。 をサポートしている場合、出力は "Character_set_system"と表示されます。 "UTF8"
  • 「文字セットセット」のように表示されます。
  • 今すぐチェックさという、テーブルを変更し、私たちの上の例では、列、 投稿を変更し、UTF8
  • のALTER TABLE MODIFY記事投稿VARCHAR(20)文字セットUTF8としてそれを指定します。

これで、telugu文字の値を挿入して保存してみます。

1

下記の解決策を確認してください。あなたはその時点で別に英語から任意の地域の言語を使用する場合

あなたCharsetutf8ことと= utf8_general_ciCollectionを設定します。

動作しない場合は教えてください。

関連する問題