私は、ColdFusionを使用してCSVテキストファイルからデータを読み込み、それをテーブルに挿入しています。データベースはUTF8で、テーブルはUTf8です。MysqlとUTF8で箇条書きのUnicode文字を格納する
この文字列•Detroit Diesel series-60 engine
は
•Detroit Diesel series-60 engine
として説明]フィールドに保存されたばかり続けています。 (これはデータベースから取得したものであり、ブラウザには表示されません)
コマンドラインから手動で文字列を新しいレコードに挿入することができ、文字は正しく保存されます。 UTF8は箇条書き文字をサポートする必要があります。私は何が間違っていますか?
データソースの接続文字列:
this.datasources["blabla"] = {
class: 'org.gjt.mm.mysql.Driver'
, connectionString: 'jdbc:mysql://localhost:3306/blabla?useUnicode=true&characterEncoding=UTF-8&jdbcCompliantTruncation=true&allowMultiQueries=false&useLegacyDatetimeCode=true'
, username: 'nottellingyou'
, password: "encrypted:zzzzzzz"
};
はTABLE出力を作成、マイナス加えて、私はここに、インポートファイルの
ALTER TABLE blabla.autos
MODIFY description TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
完全なコードを実行した
CREATE TABLE `autos` (
`VIN` varchar(30) NOT NULL,
`Description` text,
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8
いくつかの列: https://gist.github.com/mborn319/c40573d6a58f88ec6bf373efbbf92f29
ここにCSVファイルがあります。 7行目を参照:http://pastebin.com/fM7fFtXD
文字セット変換がどこかで行われているように見えます。それが保存されているかどうか、またはウェブページに戻ってきているのでしょうか?問題は、データベースに送られる前のエンコーディング、データベース接続のキャラクタセット、またはCSVファイルの読み込みのいずれかである可能性があります。可能な解決策はここにあります:http://stackoverflow.com/questions/22485224/coldfusion-character-encoding-issue – spencer7593
接続文字列を見てみましょう。 utf8を指定する必要があります。 –
そのgithubリンクはutf8をまったく表示しません。 IMPORTを実行するコマンドは何ですか? 'LOAD DATA'の場合、' CHARACTER SET'に関する節がありますか? –