New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problem with (constant) german "umlaut" in view #402

Open
FSofTlpz opened this Issue Nov 20, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@FSofTlpz
Copy link

FSofTlpz commented Nov 20, 2018

Steps to reproduce this issue

I create a view with the select:

select
field1, 'Entschädigung' as field2
from table

Then i save the view and reopen the view in the editor. I get:

select
field1, 'Entschädigung' as field2
from table

Current behavior

saving (or reading) of a constant german "umlaut" in a view is not ok

Expected behavior

get the correct german "umlaut"

Possible solution

I believe, the reading of the frm-file for the view is not a UTF8-reading.

Environment

  • HeidiSQL version:
    9.5.0.5196
  • Database system and version:
    MariaDB 10.1
  • Operating system:
    Win7
@fifonik

This comment has been minimized.

Copy link

fifonik commented Nov 20, 2018

Could you please show results of the query from your system:
SHOW VARIABLES WHERE Variable_Name LIKE 'character_set%';

I do not have the issue in my system. My charset vars are:

character_set_client	utf8mb4
character_set_connection	utf8mb4
character_set_database	utf8
character_set_filesystem	binary
character_set_results	utf8mb4
character_set_server	utf8
character_set_system	utf8
@FSofTlpz

This comment has been minimized.

Copy link

FSofTlpz commented Nov 22, 2018

A little bit different:

"character_set_client"	"utf8mb4"
"character_set_connection"	"utf8mb4"
"character_set_database"	"latin1"
"character_set_filesystem"	"binary"
"character_set_results"	"utf8mb4"
"character_set_server"	"latin1"
"character_set_system"	"utf8"
@fifonik

This comment has been minimized.

Copy link

fifonik commented Nov 22, 2018

I believe this is the issue.
I think database character set is used for views if specified (if not it fall back to server character set).
You can check your database character set with the following query:
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'your-database-name';

You can specify different character set per table/column, but I do not know if you can do this for view. So looks like if you'd like to store such characters in view code you have to alter your database character set.
It might be possible to use CHARACTER SET & COLLATE in view body to force some characters to be specified as in different character set. Not sure if this would work and how Heidi would handle this as it is trying to use NOT "show create view" but load view file directly (to preserve original formatting that is lost in "show create view" results).

You cannot blame Heidi if your database character set is not capable of storing these characters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment