Polecenie CLI zwraca komunikat o błędzie: kodek utf8 nie może dekodować bajtów w pozycji — nieprawidłowe dane
Summary: Komunikat o błędzie jest odbierany w interfejsie wiersza polecenia podczas próby uzyskania danych wyjściowych dla "isi smb shares list" Komunikat o błędzie stwierdza: kodek utf8 nie może dekodować bajtów w pozycji [wartość1-wartość2] - nieprawidłowe dane. Problem występuje, ponieważ nieprawidłowe znaki utf8 są umieszczane w nazwach lub opisach udziałów. Nieprawidłowe znaki utf8 nie są dozwolone w interfejsie wiersza poleceń ani w interfejsie WebUI. Automatyczne narzędzia i skrypty do generowania udostępnień mogą ominąć to ograniczenie i spowodować problem. ...
Symptoms
Nieprawidłowy znak utf8 powoduje zwrócenie komunikatu o błędzie zamiast listy udziałów w klastrze. Udziały te można nadal wyświetlać z poziomu interfejsu WebUI lub w dziennikach.
Podczas próby uzyskania danych wyjściowych dla "isi smb shares list" w interfejsie wiersza polecenia jest wyświetlany następujący komunikat o błędzie:
utf8 codec can't decode bytes in position [value1-value2] - invalid data.
Potwierdź ten problem, tworząc nowy udział lub wybierając udział, który został potwierdzony w interfejsie WebUI jako niezawierający nieobsługiwanych znaków specjalnych.
isi smb share view <sharename>
W przypadku udziału problematycznego nie można wyświetlić danych wyjściowych następujących elementów:
isi smb share view <problem_share_name>
Cause
Problem jest spowodowany umieszczeniem nieprawidłowych znaków utf8 w nazwach udziałów lub opisach, które są niedozwolone w interfejsie wiersza polecenia lub interfejsu WebUI. Niektóre zautomatyzowane narzędzia do generowania udostępnień, takie jak wywołania interfejsu programowania aplikacji (API) VIPR, mogą ominąć to ograniczenie i spowodować problem.
Resolution
Korzystanie z interfejsu WebUI, dzienników i "isi smb shares list --limit=#" , aby znaleźć udziały, które powodują problem.
Krok 1 - Określ, gdzie znajduje się nazwa udziału alfabetycznie za pomocą poleceń CLI.
Kolejność alfabetyczna w systemie UNIX zaczyna się od znaków specjalnych, takich jak znak dolara ($) lub znak procentu (%) wymienionych jako pierwsze. Następnie wielkie litery alfabetycznie, a następnie małe litery alfabetycznie. Zobacz przykład poniżej:
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
W tym przykładzie, gdy to samo polecenie zostanie powtórzone z limitem 11, zostanie wyświetlony następujący błąd. Oznacza to, że błąd jest 11. wpisem na liście.
ClusterName# isi smb shares list --format=table --limit=11 'utf8' codec can't decode bytes in position 5-7: invalid data
W tym przykładzie znaleziono co najmniej jeden z wpisów z nieprawidłowymi znakami zakodowanymi w UTF8 i występuje on alfabetycznie po $Core 4_SCRATCH.
Krok 2 — użyj interfejsu WebUI lub zestawów dzienników, aby znaleźć następny udział SMB (Server Message Block), który następuje alfabetycznie po $Core 4_SCRATCH. Upewnij się, że zostały znalezione nieprawidłowe wpisy nazwy udziału:
Name: $DTASTAGE Path: /ifs/data_dr/oaisys/std1/upper_ops2/ops2/$DTASTAGE Comment: Share Owner: Wendi Marceaü - LOB Desktop Architecture
W tym przykładzie zwróć uwagę, że sekcja "Komentarz" zawiera znak "ü". Aby rozwiązać problem, należy go naprawić. Wprowadź zmiany i zapisz udział.
Krok 3 - Powtórz Krok 1 i Krok 2, aż wszystkie akcje będą mogły zostać pomyślnie notowane z "isi smb shares list" .