aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/mysql.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-01-14 19:22:53 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2014-01-14 19:22:53 -0500
commit1d2f9948f488cd4bb55b2434478726a59a3acce9 (patch)
treed4135d20f71ccf0d63de3c753f186fd0818a3b93 /src/mysql.sml
parent55d485365f4d52a84d06bc38d6d34b6a47890b57 (diff)
MySQL: set character set when opening a new connection
Diffstat (limited to 'src/mysql.sml')
-rw-r--r--src/mysql.sml17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mysql.sml b/src/mysql.sml
index 472b72d1..e34efbd4 100644
--- a/src/mysql.sml
+++ b/src/mysql.sml
@@ -551,6 +551,23 @@ fun init {dbstring, prepared = ss, tables, views, sequences} =
newline,
string "}",
newline,
+ newline,
+ string "if (mysql_set_character_set(mysql, \"utf8\")) {",
+ newline,
+ box [string "char msg[1024];",
+ newline,
+ string "strncpy(msg, mysql_error(mysql), 1024);",
+ newline,
+ string "msg[1023] = 0;",
+ newline,
+ string "mysql_close(mysql);",
+ newline,
+ string "uw_error(ctx, FATAL, ",
+ string "\"Error setting UTF-8 character set for MySQL connection: %s\", msg);"],
+ newline,
+ string "}",
+ newline,
+ newline,
string "conn = calloc(1, sizeof(uw_conn));",
newline,
string "conn->conn = mysql;",