Mamy dziwny problem z Outlookiem, który ostatnio ma wpływ na niektórych użytkowników.Program Outlook ReportItem.Body zwracający niepoprawne kodowanie dla niektórych użytkowników
Jeśli niektórzy użytkownicy zautomatyzują klienta Outlook do przeglądania odbić/ReportItems w udostępnionej skrzynce odbiorczej, zamiast zwracania czystego tekstu wiadomości, jak wskazuje dokumentacja, otrzymujemy ciąg znaków Unicode, który został zanalizowany jako UTF- 8 ciągów - więc wygląda jak chiński.
Teraz mogę ominąć to z pewnym kodem, ale dodatkowym problemem jest to, że ta zmiana występuje również w programie Outlook dla wszystkich użytkowników z dostępem do tej skrzynki. Sama wiadomość wyświetlana w programie Outlook wygląda jak chińska - oryginalny HTML Unicode jest analizowany jako UTF-8.
Wygląda na to, że może to być znany problem, ale chciałem sprawdzić, czy mogę tu uzyskać jakieś porady.
Jesteśmy przy użyciu zwykłych metod, aby uzyskać dostęp do pozycji raportu:
For Counter as Integer = Inbox.Items.Count To 1 Step -1
Dim Report As Outlook.ReportItem = Inbox.Items(Counter)
Dim Body As String = Report.Body
Ostatni wiersz jest gdzie uzyskać tekst garbaled. W VBA próbuje przeanalizować go jako ASCII i zwraca duży blok "?" podczas gdy w .Net zwraca wartość parsowaną jako UTF-8 i otrzymujemy znaki, które wyglądają jak chińskie. W obu przypadkach oryginalny element raportu w skrzynce odbiorczej zaczyna wyświetlać się jako znaki chińskie i nadal robi to dla wszystkich użytkowników tej skrzynki odbiorczej.
Wszelkie pomysły?
AKTUALIZACJA: Chciałem udostępnić aktualizację, ponieważ wygląda na to, że kilka osób nadal ją widzi.
Chcę szybko podkreślić, że problem kodowania jest tu dobrze omawiany, a dostęp do treści wiadomości za pośrednictwem kodu jest ograniczony i dość łatwy. Jednak numer, problem z kodowaniem nadal istnieje w kliencie Outlook i nigdy nie został rozwiązany, a ten problem był moim powodzeniem. Musi występować jakiś błąd w właściwości .Body
, który atakuje kodowanie oryginalnego obiektu wiadomości na serwerze Exchange. Powodzenia dla każdego, kto potrzebuje rozwiązać ten konkretny problem.
AKTUALIZUJ PONOWNIE: Odpowiedź i bardziej szczegółowy opis problemu zostały zamieszczone poniżej i wybrane jako odpowiedź.
Nice. Chociaż rozwiązanie może nie być praktyczne dla wszystkich, jest to najbardziej szczegółowe wyjaśnienie problemu, który już widziałem. A ponieważ jest to praca nad wadą, nie sądzę, że można oczekiwać, że będzie dobrze działać we wszystkich przypadkach. Dziękujemy za dodanie nowych informacji! – MattB