Не знаете, как это выглядит на экране; на моем (с настройками по умолчанию U.S) персонаж точно такой же. Сказанное: часто проблема заключается не в наборе символов базы данных (на сервере), а в интерфейсном наборе символов (клиенте) - либо во время ввода, либо во время поиска (или и то и другое). Чтобы увидеть точные символы, хранящиеся в базе данных, использовать DUMP так:
select 'Özyeğin' as str, dump('Özyeğin') as codes from dual;
Что будет с уверенностью сказать, что хранится в БД, так что вы можете по крайней мере сузить проблему - это с того, что хранится или просто с тем, что отображается при выборе из БД? (На самом деле, не используйте DUMP()
ТОЧНО, как я показал, скорее, select dump(col_name) from table_name where id = ...
, где id
- некоторое значение id для строки, содержащей университетское имя, вы хотите увидеть, что такое IN A TABLE в базе данных, а не что-то, как в моем примере. col_name
- это название столбца, в котором указано название университета.)
Чтобы проиллюстрировать эту проблему, здесь короткая сессия в SQL * Plus. Обратите внимание, что с моим стандартным набором символов (см. Комментарии ниже - MY default - cp 1252, потому что я СДЕЛАЛ, ЧТОБЫ БЫТЬ) (кодовая страница 1252, название Microsoft для набора западноевропейских символов), становится «g» (даже в базе данных - он переводится интерфейсом перед тем, как он даже отправляется в базу данных), но если я изменю набор символов на 1254 (для турецкого), буква будет сохранена, а DUMP отображает правильный код для кодовой страницы 1254.
SQL> select 'Özyeğin' as str, dump('Özyeğin') as codes from dual;
STR CODES
------- -----------------------------------------
Özyegin Typ=96 Len=7: 214,122,121,101,103,105,110
SQL> host chcp 1254
Active code page: 1254
SQL> select 'Özyeğin' as str, dump('Özyeğin') as codes from dual;
STR CODES
------- -----------------------------------------
Özyeğin Typ=96 Len=7: 214,122,121,101,240,105,110
Итак: если бы я использовал западноевропейский набор символов для ввода данных в базу данных, а затем г было изменено на г (это не имеет значения, что множество DATABASE характер, потому что он никогда не получал г, его получен g). Однако, если все было в порядке, вы все равно можете видеть g в выходном файле, если внешний интерфейс, используемый для просмотра результатов из базы данных, не использует турецкий набор символов. (Тем не менее, в последнем случае вы не можете получить «g» - вы получите любой код 240 в наборе символов клиента, в cp 1252 это ð, not g ...)
Я не уверен, что я понять свой вопрос - [они выглядят одинаково для меня] (https://i.imgur.com/KiseYIG.png). –
Оба они 'U + 011F':« Латинская малая буква G с бревеном ». В чем дело? –
Какой инструмент вы используете для вставки и запроса данных? –