question marks are received along with text from sim900 connected to mega2560

#include<SoftwareSerial.h>
SoftwareSerial gsm(13,2);
char zone;
void setup() {
  Serial.begin(9600);
  gsm.begin(9600);
  gsm.print("AT+CMGF=1\r"); 
  delay(1000);
  gsm.print("AT+CNMI=2,2,0,0,0\r");
  delay(300);
}

void loop() {
 
    if(gsm.available() >0) {
       zone = gsm.read();
      Serial.print(zone);
    }}

lot of garbage is received in text message .i want to receive mesage and compare it using if statement to further drive hardware .can please any one help me.thankyou

Surely you can use a hardware serial port on your Mega instead of software serial.

Hello do you have a solution? I have same problem now.

bastiaan_sw:
Hello do you have a solution? I have same problem now.

What's that? Can't read?

Where is your code? When you post in this section, you are required to post your code.