掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字コードについて (ID:45421)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 いつもお世話になっています。 開発環境は、win7(sp1)、delphiXE3 enterprise(updateなし)、SQLite3です。 SQLiteへのアクセスには、DLしたラップファイル(?)を使っています。 ここでいうラップファイルは、SQLite3.pas、SQLiteTable3.pas、sqlite3.dllです。 SQLiteの文字コードはutf8です。 やりたいことは、utf8(bomなし)のファイルを読み込んで変数に入れて、それをSQLiteに書き込むということです。 それで、変数に入れるまでの、以下のようなコードを書いてみました。 var tf:TextFile; sLine:UTF8String; AssignFile(tf,fn); Reset(tf); while not Eof(tf) do begin Readln(tf,sLine); inc(iCount); setlength(sResult,iCount); sResult[iCount-1]:=UnicodeString(sLine); end; CloseFile(tf); 画面で入力した文字をSQLiteにinsertしても文字化けしません。 ということは、ラップファイルがユニコードからutf8に変換してくれているんだろうと考えています。 utf8としてファイルを読み込んで、delphiに渡すので(変数に入れるので)、ユニコード(utf16)に変換しなきゃと考えました。 僕のコード→ラップファイル→SQLiteと流れると思われるので、ユニコードに変換して変数に入れました。 それでも、SQLiteには文字化けしてinsertされてしまいます。 僕のコードが間違っているのか、考え方が間違っているのか分かりません。 申し訳ございませんが、教えてください。 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.