2012-02-23 9 views
2

クライアントプログラムがViewを使用する必要があるがlatin1という結果が必要な問題があります。ここ は、私が持っているものです:私のView utf8がなぜlatin1に変更できるのですか

mysql> show global variables like 'character_set%'; 
+--------------------------+----------------------------+ 
| Variable_name   | Value      | 
+--------------------------+----------------------------+ 
| character_set_client  | latin1      | 
| character_set_connection | latin1      | 
| character_set_database | latin1      | 
| character_set_filesystem | binary      | 
| character_set_results | latin1      | 
| character_set_server  | latin1      | 
| character_set_system  | utf8      | 
| character_sets_dir  | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 

mysql> Select CHARACTER_SET_CLIENT, COLLATION_CONNECTION FROM information_schema.VIEWS v; 
+----------------------+----------------------+ 
| CHARACTER_SET_CLIENT | COLLATION_CONNECTION | 
+----------------------+----------------------+ 
| utf8     | utf8_general_ci  | 
+----------------------+----------------------+ 
+0

データベース、テーブル、およびビューの作成スクリプトを表示できますか? –

答えて

5

次のコマンドを実行してみましょう:

SET character_set_client = latin1; 
SET character_set_results = latin1; 
SET character_set_connection = latin1; 
DROP VIEW your_view; 
CREATE VIEW your_view as (
    here_goes_your_view_query); 

基本的に、私たちは」ビューを再作成します。私はそれをローカルでテストしましたが、DB、テーブル、カラムをデフォルトのutf8に設定しても機能しました

+1

Worked!どうもありがとうございます! – VenerableAgents

+0

あなたは大歓迎です:) –

0

あなたはヨーヨーは、以下のコマンドを使用して接続設定を変更する必要があります。

SET character_set_client=latin1 
    SET character_set_connection=latin1 
    SET character_set_results=latin1 
+0

グローバル変数のクエリからわかるように、それらはすべてlatin1に設定されています。 – VenerableAgents

+0

ああ申し訳ありませんが、私はあまりにも速く読んでいます。どのような問題がありますか?出力にエンコードされた文字が間違っていますか? – Tchoupi

+0

はい。彼らはutf-8としてViewから出てきており、私は(ビジネス要件のために)latin1として出て来なければなりません。 – VenerableAgents

関連する問題