Skip to content

Commit 8680f69

Browse files
authored
Merge pull request #1840 from joto/force-client-encoding
Force database client encoding to UTF8
2 parents c0baa88 + f18bcc6 commit 8680f69

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

src/options.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,8 @@ std::string build_conninfo(database_options_t const &opt)
263263
return out;
264264
}
265265

266+
out += " client_encoding='UTF8'";
267+
266268
if (!opt.db.empty()) {
267269
out += " dbname='{}'"_format(opt.db);
268270
}

tests/test-options-database.cpp

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,42 +20,43 @@
2020
TEST_CASE("Connection info parsing with dbname", "[NoDB]")
2121
{
2222
database_options_t db;
23-
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql'");
24-
db.db = "foo";
2523
CHECK(build_conninfo(db) ==
26-
"fallback_application_name='osm2pgsql' dbname='foo'");
24+
"fallback_application_name='osm2pgsql' client_encoding='UTF8'");
25+
db.db = "foo";
26+
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql' "
27+
"client_encoding='UTF8' dbname='foo'");
2728
}
2829

2930
TEST_CASE("Connection info parsing with user", "[NoDB]")
3031
{
3132
database_options_t db;
3233
db.username = "bar";
33-
CHECK(build_conninfo(db) ==
34-
"fallback_application_name='osm2pgsql' user='bar'");
34+
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql' "
35+
"client_encoding='UTF8' user='bar'");
3536
}
3637

3738
TEST_CASE("Connection info parsing with password", "[NoDB]")
3839
{
3940
database_options_t db;
4041
db.password = "bar";
41-
CHECK(build_conninfo(db) ==
42-
"fallback_application_name='osm2pgsql' password='bar'");
42+
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql' "
43+
"client_encoding='UTF8' password='bar'");
4344
}
4445

4546
TEST_CASE("Connection info parsing with host", "[NoDB]")
4647
{
4748
database_options_t db;
4849
db.host = "bar";
49-
CHECK(build_conninfo(db) ==
50-
"fallback_application_name='osm2pgsql' host='bar'");
50+
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql' "
51+
"client_encoding='UTF8' host='bar'");
5152
}
5253

5354
TEST_CASE("Connection info parsing with port", "[NoDB]")
5455
{
5556
database_options_t db;
5657
db.port = "bar";
57-
CHECK(build_conninfo(db) ==
58-
"fallback_application_name='osm2pgsql' port='bar'");
58+
CHECK(build_conninfo(db) == "fallback_application_name='osm2pgsql' "
59+
"client_encoding='UTF8' port='bar'");
5960
}
6061

6162
TEST_CASE("Connection info parsing with complete info", "[NoDB]")
@@ -67,6 +68,7 @@ TEST_CASE("Connection info parsing with complete info", "[NoDB]")
6768
db.host = "bzz";
6869
db.port = "123";
6970
CHECK(build_conninfo(db) ==
70-
"fallback_application_name='osm2pgsql' dbname='foo' "
71+
"fallback_application_name='osm2pgsql' client_encoding='UTF8' "
72+
"dbname='foo' "
7173
"user='bar' password='baz' host='bzz' port='123'");
7274
}

0 commit comments

Comments
 (0)