Antagligen beror det på oöverensstämmelsen mellan den lokalspecifika NLS-teckenuppsättningen och databasteckenuppsättningen . Eller annars, NLS_LANG värdet är inte korrekt inställt i OSmiljövariabeln .
Ta en titt på Varför visas skräpvärden/specialtecken/frågetecken på min klient?
- Din klientteckenuppsättning matchar inte databasteckenuppsättningen.
Du kan jämföra mellan:
-- locale-specific characterset
select value
from v$nls_parameters
where parameter = 'NLS_CHARACTERSET';
-- database characterset
select value
from nls_database_parameters
where parameter = 'NLS_CHARACTERSET';
Om du ser en oöverensstämmelse mellan de två ställer du in den lokalspecifika NLS-teckenuppsättningen till den för databasteckenuppsättningen.
- Om ovanstående teckenuppsättningar matchar måste du ställa in NLS_LANG-värdet i OS-miljövariabeln.
För Windows OS är formatet:
[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]
Följ instruktionerna i dokumentationen för att ställa in NLS_LANG:Ställa in NLS_LANG miljövariabel för Oracle-databaser