Software / code / prosody
Comparison
util/sql.lua @ 5889:ea6a3adb6a69
util.sql: Check what encoding SQLite3 uses
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 29 Oct 2013 11:43:49 +0100 |
| parent | 5888:f3e408ae59a6 |
| child | 5890:544ca3d94596 |
comparison
equal
deleted
inserted
replaced
| 5888:f3e408ae59a6 | 5889:ea6a3adb6a69 |
|---|---|
| 288 end | 288 end |
| 289 end | 289 end |
| 290 return success; | 290 return success; |
| 291 end | 291 end |
| 292 function engine:set_encoding() -- to UTF-8 | 292 function engine:set_encoding() -- to UTF-8 |
| 293 if self.params.driver == "SQLite3" then return end | |
| 294 local driver = self.params.driver; | 293 local driver = self.params.driver; |
| 294 if driver == "SQLite3" then | |
| 295 return self:transaction(function() | |
| 296 if self:select"PRAGMA encoding;"()[1] == "UTF-8" then | |
| 297 self.charset = "utf8"; | |
| 298 end | |
| 299 end); | |
| 300 end | |
| 295 local set_names_query = "SET NAMES '%s';" | 301 local set_names_query = "SET NAMES '%s';" |
| 296 local charset = "utf8"; | 302 local charset = "utf8"; |
| 297 if driver == "MySQL" then | 303 if driver == "MySQL" then |
| 298 set_names_query = set_names_query:gsub(";$", " COLLATE 'utf8_bin';"); | 304 set_names_query = set_names_query:gsub(";$", " COLLATE 'utf8_bin';"); |
| 299 local ok, charsets = self:transaction(function() | 305 local ok, charsets = self:transaction(function() |