Příkaz CLI vrátí chybovou zprávu: kodek utf8 nemůže dekódovat bajty v poloze – neplatná data
Summary: Při pokusu o získání výstupu pro "isi smb shares list" se v rozhraní příkazového řádku zobrazí chybová zpráva: Kodek utf8 nemůže dekódovat bajty v pozici [value1-value2] - neplatná data. K problému dochází, protože do názvů nebo popisů sdílených složek jsou umístěny neplatné znaky UTF8. V rozhraní příkazového řádku ani webovém rozhraní nejsou povoleny neplatné znaky utf8. Nástroje a skripty pro automatizované generování sdílených složek mohou toto omezení obejít a způsobit problém. ...
Symptoms
Neplatný znak utf8 způsobí, že se místo výpisu sdílených složek v clusteru vrátí chybová zpráva. Tyto sdílené složky lze stále prohlížet z webového rozhraní nebo v protokolech.
Při pokusu o získání výstupu příkazu "isi smb shares list" se v rozhraní příkazového řádku zobrazí následující chybová zpráva:
utf8 codec can't decode bytes in position [value1-value2] - invalid data.
Tento problém potvrďte vytvořením nové sdílené složky nebo výběrem sdílené složky, u které bylo pomocí webového rozhraní potvrzeno, že neobsahuje nepodporované speciální znaky.
isi smb share view <sharename>
U problémové sdílené složky nelze zobrazit výstup následujícího souboru:
isi smb share view <problem_share_name>
Cause
Problém je způsoben umístěním neplatných znaků utf8 do názvů sdílených složek nebo popisů, které nejsou povoleny v rozhraní příkazového řádku nebo webovém rozhraní. Některé nástroje pro automatické generování sdílených složek, jako jsou volání rozhraní API (Application Programming Interface) VIPR, mohou toto omezení obejít a způsobit problém.
Resolution
Použijte WebUI, protokoly a "isi smb shares list --limit=#" příkaz k vyhledání sdílených složek, které způsobují problém.
Krok 1 – Pomocí příkazů rozhraní příkazového řádku určete, kde je název sdílené složky abecedně.
Abecední pořadí v systému UNIX začíná speciálními znaky, jako je znak dolaru ($) nebo znak procenta (%), které jsou uvedeny jako první. Poté velká písmena abecedně následovaná malými písmeny abecedně. Viz příklad níže:
ClusterName# isi smb shares list --format=table --limit=10 Share Name Path -------------------------------------------------------------------------------------- $AutoTest /ifs/data_dr/bi/std1/bi_autotest_fs1/BI_6272_$AutoTest $Booke /ifs/data_dr/shared/std1/sharedhfd_fs1/FACS_6230_$Booke $BudRef /ifs/data_dr/corp/std1/corporate_finance_fs1/FACS_6230_$BudRef $Bureau /ifs/data_dr/corp/std1/corp_6230_corporate_finance_fs2 $CLHomedirs3 /ifs/data_dr/bi/std1/upper_cl18/cl18/CLHomedirs3 $CORE14_NME /ifs/data_dr/oaisys/std1/upper_core14/core14/$CORE14_NME $CORE2_IS_START_FILES /ifs/data_dr/oaisys/std1/upper_core2/core2/$CORE2_IS_START_FILES $CORETSC_PRIM /ifs/data_dr/oaisys/std1/Data_CORETSC_PRIM $Clm_DataHFD_44 /ifs/data_dr/claim/std1/Clm_Data_Clm_DataHFD_44 $Core4_SCRATCH /ifs/data_dr/oaisys/std1/upper_core4/core4/Core4_SCRATCH -------------------------------------------------------------------------------------- Total: 10
V tomto příkladu se při opakování stejného příkazu s limitem 11 zobrazí následující chyba. To znamená, že chyba je 11. položkou v seznamu.
ClusterName# isi smb shares list --format=table --limit=11 'utf8' codec can't decode bytes in position 5-7: invalid data
V tomto příkladu je nalezena alespoň jedna z položek s neplatnými znaky kódování UTF8 a je uvedena abecedně za $Core 4_SCRATCH.
Krok 2 – Pomocí WebUI nebo sad protokolů vyhledejte další sdílenou složku SMB (Server Message Block), která následuje podle abecedy $Core 4_SCRATCH. Ověřte, že jsou nalezeny neplatné položky názvu sdílené složky:
Name: $DTASTAGE Path: /ifs/data_dr/oaisys/std1/upper_ops2/ops2/$DTASTAGE Comment: Share Owner: Wendi Marceaü - LOB Desktop Architecture
V tomto příkladu si všimněte, že část "Comment" obsahuje znak "ü". Problém lze vyřešit opravou. Proveďte změnu a uložte sdílenou složku.
Krok 3 – Opakujte kroky 1 a 2, dokud nebude možné úspěšně zařadit všechny sdílené složky do seznamu "isi smb shares list" .