Unknown characters at the end of base64_decode result in PHP












0















I'm using PHP IMAP functions to read emails from a remote server. While somebody sends an email through Gmail, the body shows ASCII encoding and as the message is in UTF-8, I had to use base64_decode() to convert it to acceptable result.

The remained problem is showing uknown characters at the end of returned string. It's something like this:




این یک تست هست. ▯




I used different solutions to remove these characters but I was not able to do it. Do you have any practical solution?



Note: I used a variety of encoding conversion functions (like iconv , utf8_encode, etc.) to achieve the UTF-8 equivalent but none of them could not help me to convert ASCII to UTF-8.










share|improve this question























  • the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

    – Leo Tahk
    Nov 18 '18 at 11:59













  • something like: stackoverflow.com/questions/53051684/…

    – Leo Tahk
    Nov 18 '18 at 12:03











  • I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

    – Mohammad Saberi
    Nov 19 '18 at 7:04











  • thats why you make a whitelist of allowed characters

    – Leo Tahk
    Nov 19 '18 at 8:26
















0















I'm using PHP IMAP functions to read emails from a remote server. While somebody sends an email through Gmail, the body shows ASCII encoding and as the message is in UTF-8, I had to use base64_decode() to convert it to acceptable result.

The remained problem is showing uknown characters at the end of returned string. It's something like this:




این یک تست هست. ▯




I used different solutions to remove these characters but I was not able to do it. Do you have any practical solution?



Note: I used a variety of encoding conversion functions (like iconv , utf8_encode, etc.) to achieve the UTF-8 equivalent but none of them could not help me to convert ASCII to UTF-8.










share|improve this question























  • the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

    – Leo Tahk
    Nov 18 '18 at 11:59













  • something like: stackoverflow.com/questions/53051684/…

    – Leo Tahk
    Nov 18 '18 at 12:03











  • I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

    – Mohammad Saberi
    Nov 19 '18 at 7:04











  • thats why you make a whitelist of allowed characters

    – Leo Tahk
    Nov 19 '18 at 8:26














0












0








0








I'm using PHP IMAP functions to read emails from a remote server. While somebody sends an email through Gmail, the body shows ASCII encoding and as the message is in UTF-8, I had to use base64_decode() to convert it to acceptable result.

The remained problem is showing uknown characters at the end of returned string. It's something like this:




این یک تست هست. ▯




I used different solutions to remove these characters but I was not able to do it. Do you have any practical solution?



Note: I used a variety of encoding conversion functions (like iconv , utf8_encode, etc.) to achieve the UTF-8 equivalent but none of them could not help me to convert ASCII to UTF-8.










share|improve this question














I'm using PHP IMAP functions to read emails from a remote server. While somebody sends an email through Gmail, the body shows ASCII encoding and as the message is in UTF-8, I had to use base64_decode() to convert it to acceptable result.

The remained problem is showing uknown characters at the end of returned string. It's something like this:




این یک تست هست. ▯




I used different solutions to remove these characters but I was not able to do it. Do you have any practical solution?



Note: I used a variety of encoding conversion functions (like iconv , utf8_encode, etc.) to achieve the UTF-8 equivalent but none of them could not help me to convert ASCII to UTF-8.







php utf-8 ascii






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 18 '18 at 6:58









Mohammad SaberiMohammad Saberi

5,698205299




5,698205299













  • the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

    – Leo Tahk
    Nov 18 '18 at 11:59













  • something like: stackoverflow.com/questions/53051684/…

    – Leo Tahk
    Nov 18 '18 at 12:03











  • I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

    – Mohammad Saberi
    Nov 19 '18 at 7:04











  • thats why you make a whitelist of allowed characters

    – Leo Tahk
    Nov 19 '18 at 8:26



















  • the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

    – Leo Tahk
    Nov 18 '18 at 11:59













  • something like: stackoverflow.com/questions/53051684/…

    – Leo Tahk
    Nov 18 '18 at 12:03











  • I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

    – Mohammad Saberi
    Nov 19 '18 at 7:04











  • thats why you make a whitelist of allowed characters

    – Leo Tahk
    Nov 19 '18 at 8:26

















the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

– Leo Tahk
Nov 18 '18 at 11:59







the result you show is utf-8 encoding, ends up with '▯', just filter ▯ character with regex, no? or best use whitelist for allowed characters.

– Leo Tahk
Nov 18 '18 at 11:59















something like: stackoverflow.com/questions/53051684/…

– Leo Tahk
Nov 18 '18 at 12:03





something like: stackoverflow.com/questions/53051684/…

– Leo Tahk
Nov 18 '18 at 12:03













I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

– Mohammad Saberi
Nov 19 '18 at 7:04





I can not be sure what extra character might append to the final string. So your solution is not suitable in my mind

– Mohammad Saberi
Nov 19 '18 at 7:04













thats why you make a whitelist of allowed characters

– Leo Tahk
Nov 19 '18 at 8:26





thats why you make a whitelist of allowed characters

– Leo Tahk
Nov 19 '18 at 8:26












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53358607%2funknown-characters-at-the-end-of-base64-decode-result-in-php%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53358607%2funknown-characters-at-the-end-of-base64-decode-result-in-php%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)